刚才在GoDaddy上面修改一个域名的DNS 记录。点击保存后提示All records not containing errors have been successfully saved to your zone。
等待刷新页面后,记录没有被修改。
来回折腾几次才解决问题。解决方法是:删除记录后重新添加。
飞在蓝色天空,游戏在风中,不断追逐它的梦
刚才在GoDaddy上面修改一个域名的DNS 记录。点击保存后提示All records not containing errors have been successfully saved to your zone。
等待刷新页面后,记录没有被修改。
来回折腾几次才解决问题。解决方法是:删除记录后重新添加。
本来这个VPS没多少流量的,可是今天早上居然出现了502 bad Gateway的错误。使用SSH上来一看,所有的php-cgi进程挂掉了。使用命令重启php-fpm就好了。
502 bad gateway这个错误,一般在nginx等待php-fpm响应的时间过长,或者进程挂掉之后才会出现的。在网站突然遇到大流量的时候出现的机率比较大。
1)为了不至于nginx等待时间过长而出现这个错误,可以修改nginx的配置文件nginx.conf。在http段中加入以下代码:
1 2 3 4 5 6 7 | fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; |
如果你是采用了lnmp.org的安装包来安装的lnmp的话,就已经存在上面的代码了。
2)如果出现了502 bad gateway错误的话,只能重启php-fpm了。但是总不能半夜让我起床来重启php-fpm吧?对shell编程不熟悉,写了一段PHP代码来检测状态,在遇到502 bad gateway错误时,执行命令将php-fpm重启。
PHP的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php
$url = 'http://qingting.org';
$cmd = '/etc/init.d/php-fpm restart';
for($i = 0; $i < 2; $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();
}
}
?> |
然后在/etc/crontab 加入一行代码
1 | * * * * * root /usr/bin/php /home/wwwroot/502badgateway.php |
这样就可以一分钟检查一次了。嘻嘻
这里是蜻蜓小站!