php5.3之后的版本,php-fpm.conf里的listen的默認配置是127.0.0.1:9000,就不會生成php-fpm.sock,因此如果需要Nginx里的配置有鏈接tmp/php-fpm.sock的話,需要將listen的地址配置成和nginx的配置文件一致,同時保證這個路徑已經存在,這樣在啟動./php-fpm的時候,會在對應路徑上自動生成php-fpm.sock,例如:
讓PHP-FPM使用Unix套接字
默認情況下監聽端口 9000 。 另外,也可以使PHP-FPM使用Unix套接字,這避免了TCP的開銷。要做到這一點,打開 /etc/php-fpm.d/www.conf…
vi /etc/php-fpm.d/www.conf
… 修改后如下:
[...] ;listen = 127.0.0.1:9000 listen = /var/run/php-fpm/php5-fpm.sock [...]
然后重新加載 PHP-FPM:
systemctl restart php-fpm.service
接下來通過你的nginx的配置和所有的虛擬主機和改線 fastcgi_pass 127.0.0.1:9000; to fastcgi_pass unix:/tmp/php5-fpm.sock;,像這樣:
vi /etc/nginx/conf.d/default.conf
[...] location ~ .php$ { root /usr/share/nginx/html; try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } [...]
最后重新加載 nginx:
systemctl restart nginx.service
這樣配置好后,就會在/var/run/php-fpm/目錄下自動生成一個php5-fpm.sock文件,然后一切OK。