您的位置:首页 > 运维架构 > Nginx

使用socket方式连接nginx

2015-08-20 17:43 260 查看
Nginx连接fastcgi的方式有2种:TCP和unix domain socket

什么是Unix domain socket?—— 维基百科

Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。

Unix domain sockets 使用系统文件的地址来作为自己的身份。它可以被系统进程引用。所以两个进程可以同时打开一个Unix domain sockets来进行通信。不过这种通信方式是发生在系统内核里而不会在网络里传播。

将tcp改成socket方式的配置方法:

1、修改php-fpm.conf

;listen = 127.0.0.1:9000

listen = /dev/shm/php-cgi.sock

2、重启php-fpm,生成.sock文件

3、修改.sock文件权限

chown www:www /dev/shm/php-cgi.sock

其中www是php-fpm.conf里面设置的用户和群组

4、修改nginx配置文件

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

#fastcgi_pass 127.0.0.1:9000;

fastcgi_pass unix:/dev/shm/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

}

5、重启nginx

参考链接:

https://blog.linuxeye.com/364.html

http://blog.csdn.net/niao_ye/article/details/39666695

http://yangjunwei.com/a/1760.html

http://blog.csdn.net/liv2005/article/details/7741732
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: