アパッチとNginx。 一本の鎖でつながる(その2)

先週 最初の部分 この記事では、Timeweb での Apache と Nginx の組み合わせがどのように構築されたかについて説明しました。 読者の皆様からのご質問や活発な議論に感謝いたします。 今日は、XNUMX つのサーバー上で複数のバージョンの PHP を利用できるようにする方法と、クライアントにデータのセキュリティを保証する理由について説明します。

アパッチとNginx。 一本の鎖でつながる(その2)
共有ホスティング (共有ホスティング) は、多くのクライアント アカウントが XNUMX つのサーバーでホストされることを前提としています。 通常、XNUMX つのクライアントのアカウントには複数の Web サイトが含まれます。 Web サイトは、既製の CMS (Bitrix など) とカスタム CMS の両方で動作します。 したがって、すべてのシステムの技術要件は異なるため、複数のバージョンの PHP を同じサーバー内で管理する必要があります。

Nginx をメイン Web サーバーとして使用します。Nginx は外部からのすべての接続を受け入れ、静的コンテンツを提供します。 残りのリクエストはさらに Apache Web サーバーにプロキシされます。 ここからが魔法の始まりです。PHP の各バージョンは、特定のポートでリッスンする個別の Apache インスタンスを実行します。 このポートは、クライアント サイトの仮想ホストに登録されます。

共有スキームの操作の詳細については、次の記事を参照してください。 記事の最初の部分.

アパッチとNginx。 一本の鎖でつながる(その2)
共有スキーム

通常、すべてのディストリビューションには XNUMX つのバージョンの PHP しか含まれていないため、さまざまなバージョンの PHP パッケージをインストールすることに注意することが重要です。

安全第一!

共有ホスティングの主なタスクの XNUMX つは、クライアント データのセキュリティを確保することです。 同じサーバー上にある異なるアカウントは独立しており、独立しています。 使い方?

Web サイトのファイルはユーザー自身のホーム ディレクトリに保存され、必要なパスは Web サーバーの仮想ホストで指定されます。 Web サーバーは XNUMX 人のユーザーのみによって起動されるため、Web サーバーである Nginx と Apache が特定のクライアントの最終ファイルにアクセスできることが重要です。

Nginx は、Timeweb チームによって開発されたセキュリティ パッチを使用します。このパッチは、ユーザーを Web サーバー構成ファイルで指定されたユーザーに変更します。

他のホスティング プロバイダーの場合、この問題は、たとえば拡張ファイル システム権限 (ACL) の操作によって解決できます。

Apache はマルチプロセッシング モジュールを使用して実行します mpm-itk。 これにより、各 VirtualHost が独自のユーザー ID とグループ ID で実行できるようになります。
アパッチとNginx。 一本の鎖でつながる(その2)
したがって、上記の操作のおかげで、各クライアントに対して安全で隔離された環境が得られます。 同時に、共有ホスティングのスケーリングの問題も解決します。

Apache と Nginx の組み合わせがどのように実装されているかについては、以下を参照してください。 最初の部分 私たちの記事。 さらに、専用スキームによる代替構成についても説明されています。

専門家に質問がある場合は、コメントにご記入ください。 次の記事では、すべてに答えるか、問題の解決策を詳しく説明します。

出所: habr.com

コメントを追加します