Nginx错误声明连接拒绝PHP-FPM端口

在Ubuntu 14.04 x64上新build一个运行PHP-FPM的LEMP栈。 试图访问我的webroot一些PHP。 浏览器显示502坏网关和Nginx错误日志显示以下(我的IP和生产IP删除):

TIME [error] 22838#0: *7 connect() failed (111: Connection refused) while connecting to upstream, client: [my personal IP], server: [production server IP], request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "[production server IP]" 

要确定PHP-FPM是否正在运行,请执行:

 ps -waux | grep php5 

我回过头来回答:

 root 22930 0.0 0.4 327432 16324 ? Ss 10:10 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) 

如何确定PHP-FPM在哪个端口上运行,或者为什么它不在该端口上运行? 谢谢。

find了:

为了指定端口号,你需要编辑/etc/php5/fpm/pool.d/www.conf中的“ listen = ”指令,但是我发现在理论上允许Nginx通过Unix套接字进行通信所以我换了

 127.0.0.1:9000 

 /var/run/php5-fpm.sock 

这是第一步…

然后,我不得不在我的网站configuration文件(sites-available / default)中replace以下行:

 fastcgi_pass 127.0.0.1:9000; 

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

现在我正在运行。

如果你的服务(不仅是PHP-FPM)是监听端口,你可以通过键入sudo netstat -lntp来确定它:

 # sudo netstat -lntp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.16.121:3306 0.0.0.0:* LISTEN 1427/mysqld tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 1722/memcached tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 642/smbd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21315/nginx tcp 0 0 127.0.0.1:81 0.0.0.0:* LISTEN 25078/php-fpm.conf) 

在这里您可以看到使用pid 25078的PHP-FPM进程使用81端口。