查看服务器日志
查看php-fpm.log查nginx日志
查看单个进程打开的最大连接数
ulimit -n ulimit -a查看当前tcp连接状况
netstat -an|awk '/^tcp/{++S[$NF]}END{for (a in S)print a,S[a]}'
修改nginx配置文件
vim /etc/nginx/nginx.conf
#修改前 worker_connections 1024; #修改后:cpu核数8*1024 worker_connections 8192;http { 下添加3行
http { fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;server { 添加
#添加这3行 fastcgi_buffer_size 64k; fastcgi_buffers 32 32k; fastcgi_busy_buffers_size 128k; #添加这3行 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
重启nginx
nginx -s reload
php-fpm的相关配置
vim /etc/php-fpm.d/www.conf
服务器配置:2核8G;修改前 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 ;request_terminate_timeout = 0 ;修改后 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 100 request_terminate_timeout = 1200
vim /etc/php.ini
;修改前 max_execution_time = 5 ;修改后 max_execution_time = 300
重启fpm
查出服务的进程idps aux |grep php-fpm kill -9 进程id systemctl start php-fpm
nginx参数说明
worker_processes |
worker_processes指Nginx的工作进程,这个值是直接受到服务器CPU核数量影响的(当然也有其他影响),Nginx默认配置为auto,意思是会自动检测CPU核做修改,建议worker_processes的值直接修改为CPU的核数。Linux系统可通过命令lscpu查看cpu核数,假如为4,则:worker_processes: 4 |
worker_connections |
worker_connections指单个进程能并发处理的最大连接数,包含了所有的Nginx链接(不仅仅来源于web客户端),默认值是1024,在一些(瞬间)并发量较高的场景中,这个值是远远不够用的。 Nginx官方示例中给定单个进程的worker_connections设置是1024,可以根据worker_processes的值做调整。 即:worker_connections = worker_processes * 1024 |
worker_rlimit_nofile |
代表worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样Nginx就不会有“too many open files”问题了。 worker_rlimit_nofile默认值是2000,可以将这个值增大到worker_processes*worker_connections,具体可更根据服务器情况调整,但是要注意worker_connections的值不能超过worker_rlimit_nofile。 |