PHP 设置 socket连接

Posted 刘-帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 设置 socket连接相关的知识,希望对你有一定的参考价值。

摘要: 作者博文地址:https://www.cnblogs.com/liu-shuai/

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

1、修改php-fpm.conf

1 ;listen = 127.0.0.1:9000     # 注释
2 listen = /dev/shm/php-fpm.sock     # /dev/shm/为内存文件系统,确保可读写
3 listen.owner = nginx
4 listen.group = nginx
5 
6 service php-fpm restart


2、修改nginx.conf

1 #fastcgi_pass     127.0.0.1:9000;
2 fastcgi_pass    unix:/dev/shm/php-fpm.sock;
3 
4 /usr/local/nginx/sbin/nginx -s reload

 




以上是关于PHP 设置 socket连接的主要内容,如果未能解决你的问题,请参考以下文章

Socket.io 无法在 nginx + node.js + php 应用程序中连接

php socket多进程简单服务器

PHP Sockets - 接受多个连接

如何通过 unix socket 设置 Apache2 和 PHP-FPM?

来自 php 源的 Socket.io

来自 php 源的 Socket.io