web-dev-qa-db-ja.com

PHP-FPMポートへの接続が拒否されたことを示すNginxエラー

Ubuntu 14.04 x64でPHP-FPMを実行するLEMPスタックを新しく作成します。一部のPHP= my webroot。Browserにアクセスしようとすると、ブラウザに502 Bad Gatewayと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が実行されているポート、またはそのポートで実行されていない理由を確認するにはどうすればよいですか?ありがとうございました。

6
sparecycle

それを見つけた:

ポート番号を指定するには、/ etc/php5/fpm/pool.d/www.confの "listen ="ディレクティブを編集する必要がありますが、理論的にはより効率的であることがわかりましたNginxがUnixソケットを介して通信できるようにするため、スワップしました

127.0.0.1:9000

/var/run/php5-fpm.sock

それが最初のステップでした...

次に、サイト構成ファイル(sites-available/default)の次の行を置き換える必要がありました。

fastcgi_pass 127.0.0.1:9000;

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

そして今、私は稼働しています。

12
sparecycle

サービス(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ポートを使用していることがわかります。

1
Victor Perov