用php-fpm设置一个Nginxconfiguration文件导致502坏的网关

我正在按照指南设置一个Ubuntu的VPS作为一个Nginx的networking服务器的WordPress。

当设置Nginx和PHP我正在使用的指南build议我取消/etc/nginx/sites-available/default这一行注释:

 fastcgi_pass 127.0.0.1:9000; 

这样做,尽pipe服务器的欢迎页面工作,当我去创build一个php文件(包含phpinfo)时,我得到一个502错误的网关错误,

但是,当我取消注释这条线:

 fastcgi_pass unix:/var/run/php5-fpm.sock; 

php文件似乎载入成功

任何人都可以解释每行是干什么的,为什么我使用的是一个工作,但在教程中没有?

当你使用“fastcgi_pass 127.0.0.1:9000;” nginx尝试使用端口9000上的TCP连接来连接到fastcgi以“解释”您的php文件。 当使用“fastcgi_pass unix:/var/run/php5-fpm.sock;” 它会尝试绑定到不使用networking堆栈的套接字文件。 这是一种优先的方式,由于权限问题,TCP套接字通常更容易设置。 您不能同时连接到TCP端口和SOCKET。