仮想ホストの nginx 設定を調整する
デフォルトで、Apache ウェブサーバは nginx と連携します。このメリットとしては、ウェブページの読み込みの高速化とサーバリソースの節約が挙げられます。デフォルトで Apache と nginx がどのように連携するのかについては、「Apache と nginx」を参照してください。
任意のウェブサイトに対して、デフォルトで Apache と nginx が連携する方法に変更を加えることができます。より具体的には、以下の変更が可能です。
- nginx を Apache のプロキシとして使用するか、ウェブサイトへのすべての HTTP 要求を処理する独立したサーバとして使用するかを指定する。
- nginx をプロキシサーバとして使用する場合は、各サーバで処理すべきウェブコンテンツ(静的または動的)の種類を指定する。
このような設定により、大量の動的コンテンツ(PHP ファイル)や静的コンテンツを使用する高負荷ウェブアプリケーションのパフォーマンスを最適化することができます。
この作業のための UI オプションは、顧客パネルの[ウェブサイトとドメイン] > <domain_name> > [Apache と nginx の設定]ページにあります。
注釈: nginx 関連の設定は、nginx が有効になっている場合にのみ指定することができます。
以下の図は、nginx と連携している Apache で可能なすべての構成およびその利点と欠点をまとめたものです。nginx を単独で使用する場合、Apache に要求が届くことはありません。
静的コンテンツの処理
以下の表は、nginx の構成に応じて、2 KB の GIF 画像ファイルに対する要求を Plesk がどのように処理するのかを示しています。
[スマート統計ファイル処理]がオンの場合 |
パフォーマンスと信頼性が最適になる構成です。 Apache は要求を受け取り、ファイルの場所のみを返します。nginx がファイルを検索し、提供します。 |
|
[スマート統計ファイル処理]がオフの場合 |
nginx が要求と応答を変更せずに受け渡すため、nginx 関連の問題をトラブルシューティングするモードを使用できます。 ファイルは、Apache から nginx へ、および nginx からクライアントへ、合計 2 回送信されます。このため、ファイルが大きい場合、パフォーマンスがわずかに低下する場合があります。 |
|
ファイル拡張子 GIF が[静的ファイルを nginx で直接処理]に含まれている場合 |
このモードでは、静的ファイルの配信パフォーマンスが向上します。 要求は Apache に到達しないため、Apache ハンドラによって処理されません。つまり、リライトルールや |
動的コンテンツの処理
以下の表は、nginx の構成に応じて Plesk が PHP ファイルに対する要求をどのように処理するのかを示しています。
[PHP を nginx で処理]がオフの場合 |
パフォーマンスと信頼性が最適になる構成です。 Apache は要求を受け取ると、ファイルを実行して結果を返します。 サイトのホスティング設定に応じて、Apache では FastCGI、CGI、または Apache モジュールのいずれかのハンドラが使用されます。また、サイトごとに個別に PHP バージョンを選択することもできます。 |
|
[PHP を nginx で処理]がオンの場合 |
nginx 自体が PHP-FPM ハンドラを使用してファイルを実行します。PHP-FPM ハンドラには拡張 FastCGI 機能があるため、ウェブアプリケーション(特に、ユーザの多いアプリケーション)のパフォーマンスが向上する可能性があります。 要求は Apache に到達しないため、Apache ハンドラによって処理されません。従って、一部のウェブアプリケーションが正しく動作しない場合があります。さらに、Apache |
注釈: [PHP を nginx で処理]オプションをオンにするには、nginx 用に PHP-FPM サポートをインストールする必要があります。PHP-FPM サポートのインストール方法については、「PHP ハンドラ」セクションを参照してください。
nginx 追加ディレクティブをセットアップする
ウェブサイトのカスタム nginx ディレクティブを追加するには、[nginx 追加ディレクティブ]フィールドを使用します。フィールドを編集する際は、nginx.conf
と同様の構文を使用します。たとえば、プロキシ経由のすべての要求を gzip で圧縮するには、次の行を追加します。
gzip_proxied any;
顧客が[nginx 追加ディレクティブ]フィールドを表示・編集することはできません。