lnmp安装后有许多配置默认,如果不去优化会影响服务器及系统的体验。针对以上问题做了部分优化,如有更好的可以一起交流学习……
#第一步
ulimit -n #查看值,如果小于2000,增大
#第二步
vi /etc/sysctl.conf
#在最下面添加一行:
net.core.somaxconn = 50000
net.core.netdev_max_backlog = 50000
net.ipv4.tcp_max_syn_backlog = 50000
net.ipv4.tcp_max_tw_buckets = 50000
#第三步 重启服务器
vi /etc/my.cnf
max_connections=2500 #根据实际情况
------------------------------------------------------------------------------
#php-fpm配置
vi /usr/local/php/etc/php-fpm.conf
listen.backlog = 8192
pm = static
#启动时子进程管理方式,可选值:static(启动时创建指定个数), dynamic(启动时根据情况创建,至少有一个), ondemand(启动时不创建子进程,有需求才创建)
pm.max_children = 1000
#该池同时最多存在1000个进程, 三种管理方式都要配置
pm.start_servers = 30
#fpm启动时创建30个子进程,只适用动态dynamic管理方式
pm.min_spare_servers = 30
#服务器闲置时最少保持30个子进程,不够这个数就会创建,只适用动态dynamic管理方式
pm.max_spare_servers = 60
#服务器闲置时最多要有60个,多了会kill,只适用动态dynamic管理方式
pm.max_requests = 1024
#每个子进程最大处理500请求就被回收,可防止内存泄露。
------------------------------------------------------------------------------
#nginx配置
vi /usr/local/nginx/conf/nginx.conf
worker_processes 8;
#worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
worker_rlimit_nofile 65535;
worker_connections 65535;
------------------------------------------------------------------------------