NGINX + PHP-FPM 优化记录
最近做的 NGINX + PHP-FPM 优化,记录一下,留待后用。
测试环境,8 核 CPU,64G 内存。
1、PHP-FPM 配置文件
listen = 127.0.0.1:9000 修改为 listen = /tmp/php-fpm.sock listen.backlog 取消注释,并修改值为 102400 pm = dynamic 修改为 pm = static pm.max_children 的值修改为 200
2、启动多个 PHP-FPM 实例
复制 php-fpm.conf 配置文件
cp php-fpm.conf php-fpm.1.conf
修改复制的 php-fpm.1.conf
listen = /tmp/php-fpm.sock 修改为 listen = /tmp/php-fpm.1.sock
建议启动的 PHP-FPM 实例数量与 CPU 核心数量一致。
3、NGINX 配置文件
worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; worker_rlimit_nofile 204800; events { use epoll; worker_connections 204800; } upstream phpbackend { server unix:/tmp/php-fpm.sock server unix:/tmp/php-fpm.1.sock } server { default backlog = 102400; location ~ .php$ { fastcgi_pass phpbackend; include fastcgi_params; } }
4、修改系统打开文件数
打开 /etc/security/limits.conf 文件,添加:
* soft nofile 65535 * hard nofile 65535
修改完成需要重启服务器生效!并可使用下面命令查看是否生效:
ulimit -n