Nginx與PHP的兩種通訊方式:unix socket與tcp socket
(建議教學:nginx教學)
1、兩者Nginx設定
unix socket
需要在nginx設定檔中填寫php-fpm運行的pid檔案位址。
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這樣的面向連接的協議,多少可以保證通訊的正確性和完整性。
以上是nginx與php的兩種通訊方式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!