nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socket方式。
socket方式不会走到tcp层,tcp方式则会走到ip层。因此,理论上说socket连接方式效率会更好一点。 TCP和unix domain socket方式对比
TCP是使用TCP端口连接127.0.0.1:9000
Socket是使用unix domain socket连接套接字/dev/shm/php-fpm.sock
修改php-fpm.conf配置
#listen = 127.0.0.1:9000
listen=/dev/shm/php-fpm.sock #/dev/shm/为内存文件系统,注意 确保可读写
listen.owner=apache #注意自己的用户和组
listen.group=apache
修改nginx.conf配置
#fastcgi_pass 127.0.0.1:9000;
#将相应的如上内容修改如下
fastcgi_pass unix:/dev/shm/php-fpm.sock;
重启nginx和php-fpm
service nginx restart
/usr/local/nginx/sbin/nginx -s reload