nginx と php のインタラクションする方法
nginxとPHPは、以下の異なる方法で連携できます。
- FastCGI:nginxからPHP-FPM(FastCGIプロセスマネージャ)へリクエストをFastCGIプロトコル経由で転送して処理する一般的な方式です。nginxの設定でPHP-FPMのアドレスとポートを指定できます。
- PHP-FPMは、PHPプロセスを管理するプロセスマネージャで、nginxと連携して動作します。nginxの設定では、PHP-FPMのアドレスとポートを指定できます。
- HTTPリバースプロキシ:Nginxをリバースプロキシサーバーとして使用すると、リクエストをバックエンドのPHPサーバーに転送できます。PHPサーバーのアドレスとポートは、Nginx設定で指定できます。
- WebSocket:リアルタイムの双方向通信が必要な場合は、WebSocketプロトコルを使用してPHPと通信することができます。nginxはWebSocketのプロキシサーバーとして機能し、リクエストをPHPサーバーに転送して処理します。
- CGI:一般的なものではありませんが、CGI(Common Gateway Interface)を使用して PHP と対話することも可能です。nginx 設定で PHP の CGI プログラムのパスを指定できます。
これらの方式の中でも、FastCGIとPHP-FPMは、パフォーマンスと信頼性の向上が図られ、最もよく使われて推奨されている。