Baru-baru ini saya sarankan agar saya menggunakan FastCGI dengan PHP. Sekarang saya pergi ke halaman FastCGI dan membacanya tetapi saya tidak begitu mengerti apa kelebihannya.
sumber
Baru-baru ini saya sarankan agar saya menggunakan FastCGI dengan PHP. Sekarang saya pergi ke halaman FastCGI dan membacanya tetapi saya tidak begitu mengerti apa kelebihannya.
Dengan menggunakan mod_php, setiap pekerja Apache memiliki seluruh penerjemah PHP yang dimasukkan ke dalamnya. Karena Apache membutuhkan satu proses pekerja per permintaan yang masuk, Anda dapat dengan cepat berakhir dengan ratusan pekerja Apache yang digunakan, masing-masing dengan penerjemah PHP sendiri, menghabiskan banyak memori.
(Catatan, ini tidak sepenuhnya benar, Apache worker_mpm
memungkinkan Anda untuk melayani banyak permintaan dengan satu pekerja Apache berulir. Namun, bahkan pada tahun 2009, ini bukan cara yang disarankan untuk menggunakan PHP karena dugaan masalah threading dengan ekstensi PHP.)
Dengan menggunakan PHP dalam mode fast_cgi (menggunakan sesuatu seperti spawn-fcgi dari paket lighttpd) memiliki manfaat berikut
FastCGI berarti bahwa bit php tidak berjalan dalam proses yang sama dengan bit apache, tidak seperti dengan mod_php. Pemisahan ini dapat memiliki beberapa keuntungan yang pasti ketika datang untuk me-restart server atau berurusan dengan aplikasi runaway - dalam kasus mod_php itu berarti bahwa itu adalah proses apache yang "melarikan diri", tetapi di bawah fastcgi itu hanya proses yang diajak bicara oleh apache, jadi seluruh server tidak harus diturunkan.
Keuntungan lain yang belum disebutkan adalah kenyataan bahwa dengan mod_fcgid
(yang merupakan implementasi yang lebih baru untuk menggunakan FastCGI di Apache) dan suexec Anda dapat mewujudkan pengaturan di mana vhost yang berbeda menggunakan pengguna Linux yang berbeda untuk eksekusi, yang dapat menjadi manfaat keamanan nyata dalam szenario hosting bersama .
Dengan mod_php, semua vhosts berbagi pengguna yang sama, yaitu pengguna Apache. Ini dapat menyebabkan masalah keamanan.