nginx + php-fpm 高并发配置 (也包括一部分apache/httpd)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx + php-fpm 高并发配置 (也包括一部分apache/httpd)相关的知识,希望对你有一定的参考价值。

fpm用的php.ini下 (/etc/php5/fpm/php.ini),很重要,不改会有安全漏洞。

cgi.fix_pathinfo=0

 

去掉防syn flood攻击 (高并发下会主动堵塞apache请求 导致ab测试下 apr_socket_recv: Connection reset by peer (104))

参考: http://xmarker.blog.163.com/blog/static/226484057201462263815783/

vi /etc/sysctl.conf

net.ipv4.tcp_syncookies=0

 

看ulimit数

ulimit -Sn

 

ulimit加到30000+

如何修改自行百度,不同linux发行版貌似不一样

 

nginx.conf下修改

worker_processes 12;

worker_rlimit_nofile 100000;

events { 

  use epoll; 

  worker_connections 65535; 

}

 

php-fpm的sock模式是不可靠的,并发一高就会崩。

 

php-fpm.conf (or www.conf)

改成listen = 127.0.0.1:9000, 不要用listen = /var/run/php5-fpm.sock

process.max = 65536 (这个似乎没用)

pm下4个,改大一点,按照一个进程占30M内存计算。

pm.max_requests = 50000 (这个似乎也没用)

 

nginx web server配置下选择

fastcgi_pass 127.0.0.1:9000;

 

以上是关于nginx + php-fpm 高并发配置 (也包括一部分apache/httpd)的主要内容,如果未能解决你的问题,请参考以下文章

高流量站点NGINX与PHP-fpm配置优化

php-fpm彻底解决502(php-fpm多开nginx限制并发定时重启)解决网站卡顿的终极奥义

阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信

php-fpm 高并发 参数调整 转

如何优化高流量站点的nginx和php-fpm的几个方面

高并发nginx,需要注意哪些配置