Chinaunix首页 | 论坛 | 博客
  • 博客访问: 811127
  • 博文数量: 274
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 862
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-24 15:31
个人简介

不合格的程序猿

文章分类

全部博文(274)

文章存档

2019年(3)

2018年(1)

2017年(4)

2016年(160)

2015年(106)

我的朋友

分类: LINUX

2015-12-14 15:54:55

1、什么是域Socket

“Unix domain socket 或者 IPCsocket 是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流数和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。 Unix domain sockets 使用系统文件的地址来作为自己的身份。它可以被系统进程引用。所以两个进程可以同时打开一个Unix domain sockets来进行通信。不过这种通信方式是发生在系统内核里而不会在网络里传播。”

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


php-fpm 使用 socket 方式和 nginx 通讯

建立 PHP-FPM 使用一个 Unix Socket

vi /etc/php-fpm.d/

[...]

;listen = 127.0.0.1:9000

listen = /tmp/php-fcgi.sock

[...]

重启PHP-FPM

systemctl restart php-fpm.service

配置文件:

vi /etc/nginx/conf.d/default.conf

配置内容如下:

[...]

location ~ \.php$ {

root /usr/share/nginx/html;

;fastcgi_pass 127.0.0.1:9000;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

[...]

重启Nginx


#chmod 777 /tmp/php-fcgi.sock // 修改读写权限

阅读(491) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~