2018年11月20日 星期二

《面試官別再問》什麼是CGI?什麼是FastCGI?php-fpm,FastCGI,Nginx 之間是什麼關係?

CGI,通用網關接口,用於WEB服務器和應用程序間的交互,定義輸入輸出規範,用戶的請求通過WEB服務器轉發給FastCGI進程,FastCGI進程再調用應用程序進行處理,如php解析器,應用程序的處理結果如html返回給FastCGI,FastCGI返回給Nginx 進行輸出。假設這裡WEB服務器是Nginx,應用程序是PHP,而php-fpm 是管理FastCGI 的,這也就是php-fpm,FastCGI,和Nginx 之間的關係。

FastCGI 用來提高cgi 程序性能,啟動一個master,再啟動多個worker,不需要每次解析php.ini. 而php-fpm 實現了FastCGI 協議,是FastCGI 的進程管理器,支持平滑重啟,可以啟動的時候預先生成多個進程。

沒有留言:

張貼留言