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)的主要内容,如果未能解决你的问题,请参考以下文章
php-fpm彻底解决502(php-fpm多开nginx限制并发定时重启)解决网站卡顿的终极奥义
阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信