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
时间: 2024-12-21 02:11:53

PHP 设置 socket连接的相关文章

【c#】设置Socket连接、接收超时(转)

用到Socket,发现如果连接错误,比如Connect的端口不对,会造成很长时间的延时,程序就僵在那里,效果很不好: 在网上找到很方便的设置办法,分享如下: Socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReceiveTimeout,1000); 设置Socket接收超时,时长为1000毫秒,这样1秒之后就会收到反馈,比之前强多了:

设置socket接收和发送超时的一种方式

Linux环境设置Socket接收和发送超时: 须如下定义:struct timeval timeout = {3,0};  //设置发送超时setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&timeout,sizeof(struct timeval)); //设置接收超时setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&timeout,sizeof(struct timeval)); 另外

socket连接和TCP连接的关系

我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP.FTP.TELNET等,也可以自己定义应用层协议.WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上. 1)Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等.而TCP和UDP协议属于传输层 . 而http是个应用层的协议,它

android 使用Ntrip协议,socket连接获取接入点,登录模式

前段时间出差去解决一个问题,就是获取接入点,还有登录模式.手机网络差分设置的问题,在这过程是使用Ntrip协议的.这个有点坑的地方,是在于服务器那边是不是按照协议来标准处理这些验证数据.首先是一个socket连接,socket连接上了发送协议.这个协议就是Ntrip来做的. Ntrip协议的下载地址:点击 1.使用背景 使用最多就是手机卡的接入点设置,android 系统设置,移动网络,可以新建apn设置.有些专卡,专网使用需要自已设置apn.平时我们自已使用的手机网络的接入点都是默认的.如下图

UrlConnection连接和Socket连接的区别

关于UrlConnection连接和Socket连接的区别,只知道其中的原理如下:抽象一点的说,Socket只是一个供上层调用的抽象接口,隐躲了传输层协议的细节.urlconnection 基于Http协议,Http协议是应用层协议,对传输层Tcp协议进行了封装,是无状态协议,不需要你往考虑线程.同步.状态治理等,内部是通过socket进行连接和收发数据的,不过一般在数据传输完成之后需要封闭socket连接.直接使用Socket进行网络通讯得考虑线程治理.客户状态监控等,但是不用发送头信息等,更

Cocos网络篇[3.2](3) ——Socket连接(1)

[唠叨] 在客户端游戏开发中,使用HTTP进行网络通信的比较少,一般使用的都是Socket进行通信.而HTTP一般用于网页或者网页游戏. 使用第三方Socket通信库:ODSocket. [参考] http://blog.csdn.net/sight_/article/details/8138802 (Socket详解) http://blog.csdn.net/hguisu/article/details/7444092 (Socket编程原理) [源码下载] ODSocket库源码:http

Socket连接池

"池"这个概念好像最早是在操作系统的课上听过的,到后来出来工作的第二天组长也跟我提起"池"这个东东.它给我的感觉是某种对象的集合,如果要用的话就取出,不用的话就放回.在学多线程的时候有接触过线程池,在写<Socket 一对多通信>的时候想到了Socket连接池这回事,不过在网上谷歌了一下,发现这类的文章貌似不多,看了一下园友的博文<高性能Socket设计实现>,获益良多,下了份源码来看,虽然有一部分看不明白,而且由于个人水平跑不了那份代码,但

转 Cocos网络篇[3.2](3) ——Socket连接(1)

Cocos网络篇[3.2](3) ——Socket连接(1) 2015-03-05 22:24:13 标签:network http socket cocos [唠叨] 在客户端游戏开发中,使用HTTP进行网络通信的比较少,一般使用的都是Socket进行通信.而HTTP一般用于网页或者网页游戏. 使用第三方Socket通信库:ODSocket. [参考] http://blog.csdn.net/sight_/article/details/8138802 (Socket详解) http://b

boost::asio设置同步连接超时

boost::asio设置同步连接超时 CSDN上求助无果,只好用自创的非主流方法了.asio自带的例子里是用deadline_timer的async_wait方法来实现超时的,这种方法需要单独写一个回调函数,不利于把连接和超时封装到单个函数里.传统的Winsock编程可以先把socket设为非阻塞,然后connect,再用select来判断超时,asio也可以这样做,唯一“非主流”的是asio里没有一个类似select的函数,所以得调用原始的Winsock API,也就牺牲了跨平台: #inc