socket连接nginx 优化php-fpm 性能

nginx连接fastcgi的方式是http方式的,在linux还有一种速度更快的方法就是通过unix domain socket来完成,下面介绍这种方法:

需要修改如下地方:

1./usr/local/php/etc/php-fpm.conf

修改为:<value name="listen_address">/dev/shm/php.socket</value>

其中/dev/shm/php.socket为nginx与php-fpm通讯使用的socket文件,名称任意,路径任意。这里将socket放在/dev/shm下,/dev/shm是个tmpfs,速度比磁盘快得多

2./usr/local/php/sbin/php-fpm restart

重启php-ftm,使其生成刚指定的/dev/shm/php.socket生成

3.chown nobody.nobody /dev/shm/php.socket

这里nobody用户是nginx和php-fpm使用的unix用户,如果你的不是nobody,酌情修改

4.修改nginx中需要连接php-fpm的server段的配置,将http的方式改为socket方式

location ~ .*\.(php|php5)?$

{

#fastcgi_pass  127.0.0.1:9000;

fastcgi_pass  unix:/dev/shm/php.socket;

fastcgi_index index.php;

include fastcgi.conf  ;

}

5. 最后重启nginx:./nginx -s reload

发表评论


表情