首页 » VPS 知识 » 浏览内容

为了 Nginx 不出现502错误而设置


2012-06-17 22:01:06 1,775 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

今天网站也出现了“502 Bad Gateway” 错误,按网上的资料,我也跟着设置如下:

1. 检查 php.ini 文件 (在/usr/local/php/etc/目录下),eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起 502 Bad Gateway;

2. 打开 /usr/local/php/etc/php-fpm.conf 文件,max_children 默认值是5,

<value name="max_children">5</value>

网上有人对于有1G内存的VPS推荐”max_children”设成40(这是根据一个php-cgi进程大概占用20M内存,40就是800多M内存),不过,我保守点先将它改成30吧:

<value name="max_children">30</value>

这样改好以后,重启php,

/usr/local/php/sbin/php-fpm restart

发现真实内存的消耗明显上去了,原来只有不到30%,现在消耗超过80%了,用ps aux |grep php 查看,原来只有5个类似下面的 php-cgi进程,现在有30个了,看来设置起作用了。

www       /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf

看着所剩无几的内存,心里莫名有点慌,后来又改成25了,想想原来默认值5也运行得还可以,现在扩大成5倍,应该差不多了吧,不行的话,以后再改。

查看实际的php-cgi的进程数:

netstat -anpo | grep "php-cgi" | wc -l

查看实际php-cgi占多大内存:

total=0; for i in `ps -C php-cgi -o rss=`; do total=$(($total+$i)); done; echo "PHP-CGI Memory usage: $total kb"

等到晚上高峰时间,用这些命令查看比较一下,看看设置的”max_children”值是否符合需要。

3. 对于request_terminate_timeout,默认设置为0s,先不管它,继续保持:

<value name="request_terminate_timeout">0s</value>

4. 修改/usr/local/php/etc/php.ini 将max_execution_time 改为300,默认就是 300,不用改了。

5. 编写一个 Nginx 遇到”502 Bad Gateway”后,就自动重启php-fpm的脚本:

cd /home/
  • vi restart-php.sh
  • 输入代码($url,$cmd根据自己情况而定):

    #!/usr/bin/php
  • <?
  • $url = 'http://www.xxx.com';
  • $cmd = '/usr/local/php/sbin/php-fpm restart';
  • for($i = 0; $i < 5; $i ++){
  •         $exec = "curl --connect-timeout 3 -I $url 2>/dev/null";
  •         $res = shell_exec($exec);
  •         if(stripos($res, '502 Bad Gateway') !== false){
  •                 shell_exec($cmd);
  •                 exit();
  •         }
  • }
  • ?>
  • 保存后退出。

    chmod 755 restart-php.sh
  • crontab -e
  • 输入执行的代码:

    * * * * * /home/restart-php.sh

    保存退出,意思为:每分钟执行一次restart-php.sh的脚本文件。用 crontab -l 查看任务是否设置成功。

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今5010 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2018-8-31 17:57:04
      • 您是本站第 13933408 位访客

      广告区 Guǎng Gào