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が実行されているポート、またはそのポートで実行されていない理由を確認するにはどうすればよいですか?ありがとうございました。
それを見つけた:
ポート番号を指定するには、/ 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;
そして今、私は稼働しています。
サービス(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ポートを使用していることがわかります。