nginx與php的兩種通信方式-unix socket和tcp socket
1、兩者Nginx配置 ? ? ? ? ? ? (推薦學習:nginx教程)
unix socket
需要在nginx配置文件中填寫php-fpm運行的pid文件地址。
立即學習“PHP免費學習筆記(深入)”;
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運行的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; }
2、兩者比較
從上面的圖片可以看,unix socket減少了不必要的tcp開銷,而tcp需要經過loopback,還要申請臨時端口和tcp相關資源。
但是,unix socket高并發時候不穩定,連接數爆發時,會產生大量的長時緩存,在沒有面向連接協議的支撐下,大數據包可能會直接出錯不返回異常。tcp這樣的面向連接的協議,多少可以保證通信的正確性和完整性。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦