cgi
cgi協(xié)議是為了解決不同語(yǔ)言和webserver之間的通信。只有你按照cgi協(xié)議去編寫(xiě)程序,才能和webserver通信,例如:php-cgi
fast-cgi
fast-cgi是在cgi基礎(chǔ)上改進(jìn)的,
每次連接請(qǐng)求都會(huì)fork一個(gè)cgi進(jìn)程,結(jié)束后還要kill掉,導(dǎo)致很大的資源浪費(fèi)
fast-cgi處理完后并不會(huì)kill掉,而是保留這個(gè)進(jìn)程,可以繼續(xù)處理下一個(gè)請(qǐng)求,提高了效率
php-fpm
php-fpm即是php-fastcgi process Manager
php-fpm是FastCGI的實(shí)現(xiàn),并提供了進(jìn)程管理功能,包含master進(jìn)程和worker進(jìn)程
master進(jìn)程只有一個(gè),負(fù)責(zé)監(jiān)聽(tīng)端口,接受webserver的請(qǐng)求,而worker進(jìn)程則一般有多個(gè),每一個(gè)都內(nèi)嵌了一個(gè)PHP解釋器,是PHP代碼整整執(zhí)行的地方