ホームページ  >  記事  >  運用・保守  >  NginxとPHPの導入方法とは

NginxとPHPの導入方法とは

王林
王林転載
2023-05-18 23:43:231252ブラウズ

2 つの展開方法の紹介

最初の方法

  • http リバースのために nginx サーバーを前面に配置しますWeb サービスをプロキシの nginx に提供し、サーバーの背後で負荷分散

  • # し、php-fpm

  • ## によって提供される高速 CGI サービスを呼び出します。 #this 最初のデプロイ方法が最も一般的で、Web サービスと PHP サービスの両方が同じサーバーにデプロイされます

2 番目のデプロイ方法

  1. Web サービス用に前面に 1 台の nginx サーバー

  2. 背面サーバーは、nginx サーバーが呼び出すための php-fpm サービスのみをデプロイします

  3. Front One nginx サーバーは、次に示すように、後で複数の php-fpm サービスを呼び出すときに負荷分散を実現することもできます。

NginxとPHPの導入方法とは ##比較

#システム設計の観点から

#最初の展開は従来の展開方法であり、大規模、中規模、小規模の Web サイトに適用できます。

2 番目のタイプは、異なるサービスが異なるサーバーにデプロイされるもので、これはより詳細です。しかし、いくつかの問題もあります。

フロントエンド nginx は Web サービスとして機能します。すべての静的リソース アクセス、圧縮転送、およびキャッシュ設定はこのサーバーに集中されます。大きなプレッシャーがかかり、それがボトルネックになりやすいです。
  • 静的リソースがすべて CDN に保存されており、HTTP 圧縮送信が必要ない場合、このデプロイ方法は非常に合理的です。
  • 上記 2 の場合、この展開方法も最適化できます。前面の負荷分散層とリバース プロキシ層の後に、中央に Nginx Web サーバーがあり、その背後に PHP-FPM サービスがデプロイされます。パフォーマンスの観点から見ると、
  • #2 番目の展開方法と比較すると、最初の方法ではプロセス間の対話が 1 つ多く必要になります。

最初のデプロイメントによると、http リクエストが来ると、まず nginx リバース プロキシがそれを (ネットワーク経由で) nginx Web サービスに転送し、その後 Web サービスが php と通信します。 fastcgi プロトコルを介した -fpm インタラクション (プロセス間インタラクション);
  1. 2 番目のデプロイメントによると、http リクエストが来ると、nginx は Web サービスとして機能し、php と直接対話します。ネットワークを介した -fpm
  2. 最初の展開では、http プロトコルを使用してネットワークを介して対話し、2 番目のタイプでは、fast-cgi プロトコルを使用してネットワークを介して対話します。これら 2 つのプロトコルはどのように比較されますか?
高速 CGI データ パケットは http よりわずかに大きく、高速 CGI プロトコルは http よりも多くのパラメータ情報、送信制御情報などを運びます。高速 CGI プロトコルは、http プロトコルよりも厳密にフォーマットされており、解析が高速です。運用と保守の観点から見る

1 つ目は最も一般的な展開方法で、シンプルで統一されています。Web サービスを提供するすべてのサーバー上のサービスは同型であり、単調で広範囲です。

2 つ目は、nginx と php-fpm を別々にデプロイすることで、サーバー クラスター上でのさまざまなサービスの分散がより詳細になります。 Web サービスの圧力分布をカウントすると、ハードウェア リソースをより正確に利用できます。運用保守コストも高くなります。

開発とテストの観点から

どちらの展開方法も、開発環境やテスト環境には適していません。

開発およびテスト環境では、nginx と php を 1 つのサーバーにデプロイでき、リバース プロキシやロード バランシングは必要ありません。

以上がNginxとPHPの導入方法とはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。