Home  >  Article  >  nginx + php-fpm high concurrency configuration (also includes part of apache/httpd)

nginx + php-fpm high concurrency configuration (also includes part of apache/httpd)

无忌哥哥
无忌哥哥Original
2018-06-27 15:14:352978browse

The php.ini used by fpm (/etc/php5/fpm/php.ini) is very important. If it is not changed, there will be security holes.

cgi.fix_pathinfo=0

Remove anti-syn flood attack (under high concurrency, apache requests will be actively blocked, resulting in apr_socket_recv: Connection reset by peer (104) under ab test)

Reference: http://xmarker.blog.163.com/blog/static/226484057201462263815783/

##vi /etc/sysctl.conf

net.ipv4.tcp_syncookies=0

Look at the ulimit number

ulimit -Sn

Add ulimit to 30000

How to modify Baidu, different Linux distributions seem to be different

nginx Modifying the sock mode of

worker_processes 12;
worker_rlimit_nofile 100000;
events { 
  use epoll; 
  worker_connections 65535; 
}

php-fpm under .conf is unreliable and will crash when the concurrency is high.

php-fpm.conf (or www.conf)

Change to listen = 127.0.0.1:9000, do not use listen = /var/run/php5-fpm.sock

process.max = 65536 (This seems useless)

PM the next 4, change it to a larger size, and calculate it according to a process occupying 30M memory.

pm.max_requests = 50000 (This seems to be useless)

Select under nginx web server configuration

fastcgi_pass 127.0.0.1:9000;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn