php與nginx如何通信

php與nginx如何通信

nginxphp的兩種通信方式-unix socket和tcp socket

兩者Nginx配置 ? ?(推薦學(xué)習(xí):nginx教程

unix socket

需要在nginx配置文件中填寫php-fpm運(yùn)行的pid文件地址。

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

location?~?.php$?{ ????include?fastcgi_params; ????fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;; ????fastcgi_pass?unix:/var/run/php5-fpm.sock; ????fastcgi_index?index.php; }

tcp socket

需要在nginx配置文件中填寫php-fpm運(yùn)行的ip地址和端口號。

location?~?.php$?{ ????include?fastcgi_params; ????fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;; ????fastcgi_pass?127.0.0.1:9000; ????fastcgi_index?index.php; }

兩者比較

php與nginx如何通信

從上面的圖片可以看,unix socket減少了不必要的tcp開銷,而tcp需要經(jīng)過loopback,還要申請臨時端口和tcp相關(guān)資源。

但是,unix socket高并發(fā)時候不穩(wěn)定,連接數(shù)爆發(fā)時,會產(chǎn)生大量的長時緩存,在沒有面向連接協(xié)議的支撐下,大數(shù)據(jù)包可能會直接出錯不返回異常。tcp這樣的面向連接的協(xié)議,多少可以保證通信的正確性和完整性。

以上就是php與

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享