PHP(PHP-FPM)とNginxを別々の刑務所に分けたい。1つはNginxの刑務所、もう1つはPHP-FPMの刑務所/ PHP/Wordpress。
Nginxは静的アセットを提供するのが得意なので、Nginxで直接提供したいと思います。ある刑務所から別の刑務所にフォルダーをマウントするにはどうすればよいですか(読み取り専用)?
また、別の刑務所にNodejsアプリがあるので、その静的アセットをNginxで直接提供したいと思います。
副次的な質問:同じサーバー上で複数のPHPサイトをホストする場合。各Webが必要な場合は、各刑務所にPHP/PHP-FPMをインストールする必要がありますか。 -それぞれの刑務所のアプリ?
Mount_nullfsの使用に関するこのブログを見つけました。しかし、ホストと刑務所の間ではなく、刑務所の間でそれを使用できますか?
nullfs
を使用して、ホストのファイルシステムの一部への読み取り専用アクセスをjailに与えることができます。すべての刑務所はホストのファイルシステム内に存在するため、刑務所から刑務所へのアクセスの考え方は重要ではありません。
私のシステムでは(そして私は難しい方法で刑務所に入れます)、/etc/jails.conf
に次のディレクティブがあります。
mount.fstab = "/etc/fstab.${name}";
つまり、刑務所ごとに別々のfstab
sがあり、次のようなものが含まれています。
/jail/base /jail/somejail/base nullfs ro 0 0
刑務所、プロセス、およびアプリケーションの分割に関しては、明らかにさまざまな議論があります。個人的には、アプリケーションを1つのjail内に自己完結させてから、(さらに別の)nginx
jailを使用してすべてのアプリケーションjailにリバースプロキシするのが好きです。 ZFSとjailごとに1つのアプリケーションを使用すると、スタックのさまざまなバージョンを同時に管理し、新しいバージョンをテストし、必要に応じてロールバックすることが非常に簡単になります。要約すると、私は各アプリケーションjail(静的コンテンツと動的コンテンツの両方を含む)でnginx
とphp-fpm
を実行することを推奨しています。