1. 程式人生 > >[Linux]PHP-FPM與NGINX的兩種通訊方式

[Linux]PHP-FPM與NGINX的兩種通訊方式

rom code pan ESS write 訪問權限 nec ner div

一、通過監聽TCP端口通訊

php-fpm.d/www.conf

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   ip.add.re.ss:port    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   [ip:6:addr:ess]:port - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   
port - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; /path/to/unix/socket - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000

nignx.conf

location ~ \.php {
            root           
/lroot/wwwroot/test; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

二、通過unix socket進程間通訊

先選定一個目錄創建一個空.sock文件,例如/run/php-fpm.sock(註意不應選用/tmp目錄),再進行配置

php-fpm.d/www.conf

1.設置通訊方式

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   ip.add.re.ss:port    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   [ip:6:addr:ess]:port - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   port                 - to listen on a TCP socket to all addresses
;                            (IPv6 and IPv4-mapped) on a specific port;
;   /path/to/unix/socket - to listen on a unix socket.
; Note: This value is mandatory.
listen = /run/php-fpm.sock

2.設置創建.sock文件的訪問權限,以便nginx進程能夠訪問php-fpm創建的.sock

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default users group
;       will be used.
user = nginx
group = nginx
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

nignx.conf

location ~ \.php {
            root           /lroot/wwwroot/test;
            fastcgi_pass   unix:/run/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

        }

[Linux]PHP-FPM與NGINX的兩種通訊方式