nginx php-fpm unixsocket并发100以上报502解决方法

nginx php-fpm用unix socket方式,当并发达到100以上是,会报502错,改成tcp方式就无此问题

本来用unix socket是为了提高性能,却不支持大并发,经查发现是系统内核限制导致不稳定,修改下列内核参数解决

调整以下参数 sysctl.conf

net.unix.max_dgram_qlen = 4096
net.core.netdev_max_backlog = 4096
net.core.somaxconn = 4096

php-fpm.conf

listen.backlog = 4096

参考:http://forum.nginx.org/read.php?11,215606,215606#msg-215606

时间: 2024-10-10 10:51:44

nginx php-fpm unixsocket并发100以上报502解决方法的相关文章

关于inodes占用100%的问题及解决方法

#df shows no file systems processedPosted by John Quaglieri on 27 July 2012 07:26 AMA df -m command on the system shows: df -mdf: no file systems processed on Openvz file systems are mounted on the hostnode. In order for openvz to know about the file

Nginx启动提示找不到libpcre.so.1解决方法

nginx启动报错:  error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 我用的是64位系统 解决办法: [[email protected] ~]#  ln -s /usr/local/lib/libpcre.so.1 /lib64 启动nginx即可: /usr/local/webserver/nginx/sbin/ngin

nginx和fpm的进程数配置和502,504错误

一般来说 php-cgi进程数不够用.php执行时间长(mysql慢).或者是php-cgi进程死掉,都会出现502错误: Nginx 504 Gateway Time-out则是与nginx.conf的设置有关: 1.502 和 php-fpm.conf 1.request_terminate_timeout引起的资源问题 request_terminate_timeout的值如果设置为0或者过长的时间,可能会引起file_get_contents的资源问题. 如果file_get_conte

Nginx 安装过程中遇到的一些问题及解决方法

一.安装 获取安装包: wget http://nginx.org/download/nginx-1.11.5.tar.gz 解压安装包: tar -zxvf nginx-1.11.5.tar.gz 切换到 nginx-1.11.5 目录 执行 ./configure 出现错误: checking for C compiler ... not found ./configure: error: C compiler cc is not found 原因:没有安装gcc 解决方法:使用root用户

nginx 出现413 Request Entity Too Large问题的解决方法

原来nginx默认上传文件的大小是1M,可nginx的设置中修改. 解决方法如下: 1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf. 2.在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小. 3.保存后重启nginx,问题解决.

Centos inodes占用100%的问题及解决方法

1,当我们发现硬盘还有剩余空间,却无法存储数据时,这时就应该关注下inodes的使用情况,/boot的inodes数量为128016,如图: 2,先在/boot目录下创建test文件夹 3,在test文件夹下创建文件 4,查看磁盘空间使用情况 ,只用了10%的空间,报空间不足的错 5,再来查看inodes的使用情况 ,使用为100% 6,要解决这问题,只需将刚才创建的文件删除即可 原文地址:http://blog.51cto.com/536410/2149800

LNMP下Nginx 中文文件名或目录404无法访问的解决方法

貌似很多人还是会遇到中文乱码的问题,Apache可以使用mod_encoding支持中文目录和文件,LNMP下Nginx其实不需要安装额外的组件即可支持中文文件名或中文目录,下面说一下常见的CentOS.Debian.Ubuntu Linux发行版下的设置方法和可能会遇到的问题: 设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置.如果显示其他编码需要按如下步骤设置. CentOS: 编辑/etc/sysconfig/i18n 文件,内容修改为

Linux C++ Socket 高并发短连接 TIME_WAIT 挥之不去解决方法

近期遇到一个项目 需要在Linux上建立一个Socket 进行 HTTP_GET , 需要线程高并发的 使用TCP Socket 进行Send 发送HTTP_GET请求到 指定网站 . 而且不需要read数据返回 一旦Send完毕就直接close了,  但这样做却在本地产生了很多 TIME_WAIT 状态 导致端口堵塞无法高并发连接了 . 在网上找了很多资料, 都说到了这点  高并发短连接的close 需要双发达成 才能进入CLOSE状态, 如果只有一段 Close(sock) 只会带来另一端的

Nginx 出现413 Request Entity Too Large得解决方法

Nginx 出现413 Request Entity Too Large得解决方法 默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large ,修改或增加配置client_max_body_size值即可: nginx默认上传文件的大小是1M 解决方法: 打开/usr/local/etc/nginx/nginx.conf,找到 http { -- } 在里面加入 client_max_body_size 4m; 如: http { --