インターネットの発展に伴い、高性能サーバー アーキテクチャがさまざまな Web サイトやアプリケーションの開発における中心的な問題の 1 つになりました。 PHP 開発テクノロジでは、Nginx が最も一般的な Web サーバーです。優れたパフォーマンス設計と柔軟な構成機能により、PHP 開発用の高性能サーバー アーキテクチャをサポートできる強力なツールになります。
このうち、Nginx は構成を最適化することでさらにパフォーマンスを向上させることができます。この記事では、高トラフィック下で高性能のサーバー アーキテクチャを構築するのに役立つ、PHP 開発のための Nginx 構成のヒントをいくつか紹介します。
デフォルトでは、Nginx ワーカー プロセスの数はサーバー CPU コアの数に基づいて自動的に調整されます。この設定により、Nginx は適切に動作しますが、より高いパフォーマンスが必要な場合は、ワーカー プロセスの数をサーバーの CPU コア数の 2 倍に手動で設定することをお勧めします。
たとえば、サーバーに 8 つの CPU コアがある場合、ワーカーの数を 16 に設定できます。これにより、サーバー リソースを最大限に活用し、Nginx のパフォーマンスと応答速度を向上させることができます。
Nginx Gzip 圧縮をオンにすると、データ送信量が削減され、Web サイトの応答速度が向上します。これを行うには、Nginx 構成ファイルに次の行を追加する必要があります:
gzip on;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_types text/ plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript;
これにより、Gzip 圧縮が有効になり、圧縮が許可されるファイル タイプが定義されます。
Nginx キャッシュにより、Web サイトの応答速度とユーザー エクスペリエンスが大幅に向上します。キャッシュ時間を設定してキャッシュを制御できます。例:
proxy_cache_path /var/cache/nginx tables=1:2keys_zone=my_cache:10m inactive=60m;
server {
location / {
proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 10m; proxy_cache_valid 404 1m;
}
}
この構成では、キャッシュ時間 10 分の「my_cache」というキャッシュが有効になります。アクセスされた URL がキャッシュに存在しない場合は、バックエンドサーバーから取得されます。
Nginx キャッシュと同様に、FastCGI キャッシュも PHP アプリケーションのパフォーマンスを大幅に向上させることができます。 Nginx 構成ファイルで次の行を使用して FastCGI キャッシュを定義できます:
fastcgi_cache_path /var/cache/nginx tables=1:2keys_zone=my_cache:10m inactive=60m;
server {
location / {
try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_cache my_cache; fastcgi_cache_valid 200 60m;
}
}
この構成では、キャッシュ時間 60 分の「my_cache」という名前の FastCGI キャッシュが有効になります。
Nginx 構成をさらにカスタマイズする必要がある場合は、Lua スクリプトを使用できます。このスクリプト言語は非常に柔軟で、Nginx の内部 API へのアクセスを提供し、必要なカスタム動作を実装できます。
これを行うには、Nginx 構成ファイルで、Nginx の Lua モジュールを必ず有効にしてください。例:
location /example {
content_by_lua '
ngx.say("Hello, world!")
';
}
このコードは Lua スクリプトを有効にし、/example URL に出力します。 "こんにちは世界!"。
結論
上記の手法は、PHP 開発における Nginx サーバーの最適化のための一般的な構成方法です。これらのヒントを使用すると、Web アプリケーションのパフォーマンスと応答性をさらに向上させることができ、ユーザー エクスペリエンスが向上します。
以上が高性能サーバー アーキテクチャ: PHP 開発のための Nginx 構成のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。