PHP dengan nginx biasanya dilakukan menggunakan php-fpm yang merupakan prosesus terpisah.
Mempertahankan gagasan inti buruh pelabuhan dari satu proses (lihat akhir jawaban untuk detail lebih lanjut tentang hal ini) per wadah, masuk akal untuk memiliki proses nginx dan proses php-fpm dalam wadah terpisah.
Ketika komunikasi antara nginx dan php-fpm muncul melalui fastcgi, wadah php-fpm juga dapat berada di host yang terpisah dan ini memungkinkan penggunaan sekelompok kontainer php-fpm di belakang nginx.
Setelah dinding komentar di sini adalah latar belakang yang sedikit lebih, dokumentasi buruh pelabuhan memiliki paragraf tentang gagasan bahwa wadah harus hanya memiliki satu perhatian .
Gagasan utama dari wadah linux ( lxc ) adalah untuk menjalankan proses di ruang nama yang terisolasi di cpu dan tingkat memori, buruh pelabuhan menambahkan di atas ini isolasi di tingkat sistem file.
Keuntungannya adalah bahwa kompromi dari suatu proses dalam namespace ini tidak akan memungkinkan untuk membaca memori dari proses lain dan dengan demikian harus mencegah kompromi lain pada host.
Ketika berbicara tentang nginx dan php-fpm, mereka bekerja berpasangan tetapi masing-masing memiliki perhatian sendiri, nginx akan melakukan bagian HTTP, routing, validasi header, dll. Dan php-fpm akan melakukan interpretasi kode dan mengembalikan bagian html ke nginx . Sementara itu biasa memiliki keduanya bersama-sama melayani satu aplikasi yang tidak wajib.
Bergantung pada konteksnya, mungkin lebih mudah untuk memiliki wadah termasuk seluruh tumpukan untuk suatu aplikasi, pada workstation pengembang sebagai contoh. Tetapi idealnya untuk penggunaan produksi, cobalah untuk menjaga interaksi yang lebih sedikit di dalam wadah, setelah proses terpisah dalam wadah yang sama dengan pengawas membawa bagian masalahnya dalam hal proses zombie dan penanganan log (contoh cerita di sini hanya untuk tujuan ilustrasi).
Jadi akhirnya saya akan mengutip halaman buruh pelabuhan dengan beberapa penekanan:
Sementara "satu proses per wadah" sering merupakan aturan praktis yang baik, itu bukan aturan yang keras dan cepat. Gunakan penilaian terbaik Anda untuk menjaga wadah sebersih dan semodel mungkin .
Tidak ada "aturan peluru perak" yang berlaku untuk semuanya, selalu ada keseimbangan antara kompleksitas di dalam wadah dan kompleksitas yang mengatur sendiri wadah itu.