首頁  >  文章  >  運維  >  nginx和php如何進行通訊的

nginx和php如何進行通訊的

(*-*)浩
(*-*)浩原創
2019-11-20 10:10:455191瀏覽

nginx和php如何進行通訊的

Nginx與PHP的兩種通訊方式-unix socket與tcp socket

1、兩者Nginx配置             (建議學習:nginx教學

unix socket

#需要在nginx設定檔中填寫執行的pidphp-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、兩者比較

nginx和php如何進行通訊的

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

但是,unix socket高並發時候不穩定,連接數爆發時,會產生大量的長時緩存,在沒有面向連接協議的支撐下,大數據包可能會直接出錯不返回異常。 tcp這樣的面向連接的協議,多少可以保證通訊的正確性和完整性。

以上是nginx和php如何進行通訊的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn