我想了解的網絡服務器(例如:nginx的)如何以及CGI/FastCGI的相互通信。 webserver如何將cgi腳本傳遞給cgi進程以及cgi進程如何響應請求。webserver和cgi進程如何相互通信?
在Nginx的,我們配置這樣讓nginx的傳遞PHP腳本PHP-FPM
location/{
root /home/service/public_html;
fastcgi_pass unix:/tmp/php-fpm-test.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/service/public_html/index.php;
include fastcgi_params;
}
它是如何工作的?
編輯:會意識到,如果有人能夠給我一片的僞代碼來描述一個過程(或其他)和php-fpm的Unix套接字之間的通信。
我認爲這是沒有這麼多,新工藝是昂貴的,因爲CGI程序往往需要啓動大型,複雜的過程就像一個Perl解釋器。我最近用C寫的一個非常簡約的CGI程序嘗試稱爲[CGI蹦牀(http://gcbenison.wordpress.com/2012/04/23/deploying-a-scheme-web-application-the-taubatron/) 。由於啓動這個小過程而造成的延遲非常低。 – gcbenison 2012-05-01 04:02:39