nginx以unix-domain-socket方式连接fastcgi(php)

前面已经介绍过Ubuntu 9.04 server用apt安装nginx并配置php(fastcgi),不知道大家看到没,在文章中nginx连接fastcgi的方式是http方式的,在linux还有一种速度更快的方法就是通过unix domain socket来完成,下面介绍这种方法:

首先建立/tmp/php-cgi.sock文件,然后将之改所有者改为www-data:

#我直接改成nginx的用户,好像必须要属于nginx的用户组才能正常使用未验证
sudo chown www-data /tmp/php-cgi.sock


找到nginx.conf,如果你用的是虚拟机,那么就到/etc/nginx/site-available里改相关文件:

修改:
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;

找到init.d/php-cgi(参考文章开关提到的文章):

修改:
#DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 1 -u www-data -f /usr/bin/php-cgi”

DAEMON_OPTS=”-a 127.0.0.1 -s /tmp/php-cgi.sock -C 1 -u www-data -f /usr/bin/php-cgi”

然后分别重启nginx 和 spawn-fcgi即可,你的nginx效率就更高啦!:-)

© 2009, kangzj. 版权所有.

Tags: , , , , , ,
| 七月 22nd, 2009 | Posted in 服务器OS |

7 Responses to “nginx以unix-domain-socket方式连接fastcgi(php)”

  1. 小鬼 Says:

    有什么用。。。
    =..=

    [回复]

    kangzj 回复:

    提高速度啊~~访问量大的网站,服务器的优化是分毫必争的

    [回复]

  2. 小鬼 Says:

    额,话说服务器也不用Ubuntu吧,至少也得SUSE级别以上把

    [回复]

    kangzj 回复:

    呵呵,桌面用的Ubuntu,后来就在服务器上装了个,感觉不错,很稳定~~
    其实各个版本的Linux差不许多啦,我熟悉的只有:Redhat Linux AS,CentOS,Ubuntu~~

    [回复]

    小鬼 回复:

    很多都用FreeBSD

    [回复]

    kangzj 回复:

    嗯,这个正统一些,是Unix

    [回复]

    Duron 回复:

    BSD不是我等菜鸟能用得了的,还是老老实实研究linux

    [回复]

Leave a Reply