nginx php-fpm 小VPS 优化
小VPS受系统资源的限制,访问量过大,超过系统所能承受的极限时,有一部分请求就会502了。在系统资源够用的情况,优化nginx,php-fpm,以及系统本身,达到2个目的:
1,合理配置系统资源,将有限的资源,最大化利用。好钢用在刀刃上。
2,尽量减少磁盘的I/O
一,系统主要资源
[root@xxxxxxnginx]#free-m totalusedfreesharedbufferscached Mem:994815179043118 -/+buffers/cache:453540 Swap:000 [root@xxxxxxnginx]#cat/proc/cpuinfo processor:0 vendor_id:GenuineIntel cpufamily:6 model:62 modelname:Intel(R)Xeon(R)CPUE5-2650v2@2.60GHz stepping:4 cpuMHz:2594.024 cachesize:20480KB physicalid:0 siblings:1 coreid:0 cpucores:1 apicid:0 initialapicid:0 fpu:yes fpu_exception:yes cpuidlevel:13 wp:yes flags:fpuvmedepsetscmsrpaemcecx8apic。。。。省略。。。。 bogomips:5188.04 clflushsize:64 cache_alignment:64 addresssizes:46bitsphysical,48bitsvirtual powermanagement:
二,php-fpm优化
pm=dynamic//进程数,动态分配 pm.max_children=24//最大进程数 pm.start_servers=8//刚启动时的进程数 pm.min_spare_servers=8//服务器空闲时的最小进程数 pm.max_spare_servers=24//服务器空闲时的最大进程数 php_flag[display_errors]=off//运行一段时间后,将错误提示信息关闭掉
php-fpm一个进程占了20M-30M之间,top看一下php-fpm占的内存百分比,估算一下就知道了。max_children,max_spare_servers不是越大越好。
三,nginx优化
1,安装稳定最新版
#vim/etc/yum.repos.d/nginx.repo//加上以下内容 [nginx] name=nginxrepo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 #yuminstallnginx//更新nginx
2,优化配置nginx
worker_processesauto;//设置auto,nginx进程动态分配 #access_log//注释掉,减少I/O #log_format//注释掉,减少I/O gzipon;//开启gzip gzip_min_length1k; gzip_buffers416k; gzip_http_version1.1; gzip_comp_level5;//1-9,越大压缩越好,消耗资源越大 gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml; gzip_varyon;
worker_processes对于小VPS的话,设成1,2也是可以的。够用了。
对于小vps的话,上面nginx,php-fpm的优化配置都是有益的。
四,linux启动进程优化
#chkconfig--list|grepon
查看开机启动的进程,把不必要启动进程关掉。如果遇到不知道的,最好先查一下在决定要不要关闭。