ApacheとNginx。1つのチェーンで結ばれる(パート2)

先週、この記事の最初の部分で、ApacheとNginxのバンドルがTimewebでどのように構築されるかについて説明しました。読者の皆様からのご質問や活発な議論に心より感謝申し上げます。今日は、1つのサーバーで複数のPHPバージョンの可用性がどのように実現されるか、およびクライアントにデータのセキュリティを保証する理由について説明します。





仮想ホスティング(共有ホスティング)とは、単一のサーバー、複数のクライアントアカウントを意味します。原則として、1つのクライアントのアカウントには複数のサイトが含まれます。 Webサイトは、既製のCMS(Bitrixなど)とカスタムCMSの両方で機能します。したがって、すべてのシステムの技術要件が異なるため、1つのサーバー内で複数のPHPバージョンを管理する必要があります。



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



共有スキーマの作業について詳しく読むことができます共有スキーマ 通常、すべてのディストリビューションにはPHPバージョンが1つしかないため、PHPパッケージを異なるバージョンに配置することに注意してください。













安全第一!



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



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



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



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



Apacheはmpm-itkマルチプロセッシングモジュールを使用しますこれにより、各VirtualHostを独自のユーザーIDとグループIDで実行できます。



したがって、上記の操作のおかげで、クライアントごとに安全な分離環境が得られます。同時に、共有ホスティングのスケーリングの問題も解決します。記事の最初の部分で



、ApacheとNginxのバインディングがどのように実装されているかを読むことができますさらに、専用スキームによる代替構成もここで説明されています。 専門家にご不明な点がございましたら、コメント欄にご記入ください。次の記事では、すべてに答えるか、問題の解決策について詳しく説明します。






All Articles