亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

php7 - Nginx中fastcgi_pass的設(shè)定問(wèn)題
某草草
某草草 2017-05-16 17:18:04
0
1
728

在設(shè)定nginx的時(shí)候,fastcgi_pass的設(shè)定問(wèn)題,如下所示:

    location ~ \.php$ {
        root           /home/wwwroot;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
        #fastcgi_pass  unix:/tmp/php-cgi.sock;
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

主要是關(guān)於fastcgi_pass參數(shù),

#fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
#fastcgi_pass  unix:/tmp/php-cgi.sock;

這兩種方式有什麼差別,php7該用哪一個(gè)?

某草草
某草草

全部回覆(1)
大家講道理

Nginx和PHP-FPM的進(jìn)程間通訊有兩種方式,一種是TCP,一種是UNIX Domain Socket.
其中TCP是IP加埠,可以跨伺服器.而UNIX Domain Socket不經(jīng)過(guò)網(wǎng)路,只能用於Nginx跟PHP-FPM都在同一伺服器的場(chǎng)景.用哪一種取決於你的PHP-FPM配置:
方式1:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0 .0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
其中其中php-fpm.sock是一個(gè)檔案,由php-fpm產(chǎn)生,型別是srw-rw----.

UNIX Domain Socket可用於兩個(gè)沒(méi)有親緣關(guān)係的進(jìn)程,是目前廣泛使用的IPC機(jī)制,比如X Window伺服器和GUI程式之間就是透過(guò)UNIX Domain Socket通訊的.這種通訊方式是發(fā)生在系統(tǒng)核心里而不會(huì)在網(wǎng)路裡傳播.UNIX Domain Socket和長(zhǎng)連接都能避免頻繁創(chuàng)建TCP短連接而導(dǎo)致TIME_WAIT連接過(guò)多的問(wèn)題.對(duì)於進(jìn)程間通訊的兩個(gè)程序,UNIX Domain Socket的流程不會(huì)走到TCP那層,直接以檔案形式,以stream socket通訊.如果是TCP Socket,則需要走到IP層,對(duì)於非同一臺(tái)伺服器上,TCP Socket走的就更多了.

UNIX Domain Socket:
Nginx socket PHP-FPM
TCP Socket(本地回環(huán)):
Nginx socket TCP/IP socket PHP-FPM
TC (Nginx與PHP-FPM位於不同伺服器):
Nginx socket TCP/IP 實(shí)體層 路由器 實(shí)體層 TCP/IP socket PHP-FPM

像mysql命令列客戶端連接mysqld服務(wù)也類似有這兩種方式:
使用Unix Socket連接(預(yù)設(shè)):
mysql -uroot -p --protocol=socket --socket=/tmp/mysql. sockmysql -uroot -p --protocol=socket --socket=/tmp/mysql.sock
使用TCP連接:
mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306使用TCP連線:

mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306??
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板