一:php-fpm.conf详细解析篇:

pm = static (静态模式)时只需修改 max_children数值
pm = dynamic (动态模式)时只需修改其它三个数值 pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。

设置”max_children”需要根据服务器的性能进行设定,每一个php-cgi所耗费的内存在20M左右,因此我的”max_children”我设置成20个,20M*20=400M也就是说在峰值的时候所有PHP-CGI所耗内存在400M以内,低于我的有效内存512mb。这样能保证,在PHP大并发的情况下不会502错误。

设置”request_terminate_timeout”如果你的服务器性能足够好,且宽带资源足够充足的话你可以直将”request_terminate_timeout”设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。

二.修改最大同时连接文件数
系统默认是1024,最好改大些
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)

有如下三种修改方式:

①在/etc/rc.local 中增加一行 ulimit -SHn 65535

②在/etc/profile 中增加一行 ulimit -SHn 65535

③在/etc/security/limits.conf最后增加如下两行记录

* soft nofile 65535

* hard nofile 65535

具体使用哪种,试试哪种有效吧,CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果。

最新文章

  1. Three.JS 从世界坐标系转换到屏幕坐标系
  2. 圆形背景的TextView
  3. 关于rc.local
  4. ubuntu segmentation fault 段错误
  5. 让Redis在你的系统中发挥更大作用的几点建议
  6. [转] 基于ArcGISServer实现活动地图标注
  7. mongdb3.0用户验证问题
  8. java中通过反射获取方法并且调用(getMethod和invoke深入)实践
  9. 对于stackoverflow的中文翻译的相关问题
  10. JavaScript 模拟装饰者模式
  11. 使用 Flask-Cache 缓存给Flask提速
  12. Android Camera2 预览功能实现
  13. springboot 多端口启动
  14. 新手入门HTML5有什么推荐的书籍?
  15. HDU--5269 ZYB loves Xor I (字典树)
  16. Web从入门到放弃<1>
  17. idea git 整合使用
  18. 【Java】 剑指offer(37) 序列化二叉树
  19. swift UIAlertController使用 UIAlertController的宽度 为270
  20. adb devices报错解决

热门文章

  1. Qt文件夹遍历
  2. Chrome-逆向分析JS-1分析google网站翻译器原文存放位置
  3. pip安装第三方库报错Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None))...
  4. day 52协程
  5. EasyUI 的日期控件单击文本框显示日历
  6. 怎么追加byte内容
  7. java File I/O
  8. git 更新代码
  9. Swift——(六)Swift中的值类型
  10. spring3.0+struts2+ibatis整合