nginx + php-fpm 高并发配置 (也包括一部分apache/httpd)
程序员文章站
2022-03-21 12:57:48
...
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;