一个简单自动监控nginx 504错误的php脚本
2012-01-10 15:35
1086 查看
因为php连接网络超时,很容易导致nginx 504错误,网络上有很多解决办法,但是不知道为啥在我这里都不奏效。
所以我只好写一个脚本,定期检测我的站点是否504了,若有504,只好出绝招“重启nginx和php-fpm”,
具体代码如下:
#!/usr/bin/php 是你的php路径
修改权限 chmod +x 504check.php
然后crontab -e添加一行
* * * * * /xx/504check.php >/dev/null 2>&1
每分钟系统就会自动检测网站是否响应很慢,若如此,则重启
所以我只好写一个脚本,定期检测我的站点是否504了,若有504,只好出绝招“重启nginx和php-fpm”,
具体代码如下:
#!/usr/bin/php 是你的php路径
(show/hide)plain text#!/usr/bin/php <?php error_reporting(E_ERROR); define("EMAIL","xxx@gmail.com");//你的email地址 define("TIMEOUT",5);//读取网站超时时间,5秒 function curl_get($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, TIMEOUT); // Headers $headers = array(); $headers[] = "Date: ".date('r'); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $Data = curl_exec($curl); return $Data ; } function check($d,$k){ $url = $d;//"http://".$d; $html = curl_get($url); if( substr_count($html,$k) < 1){ mail(EMAIL,"JP 504 timeout for ".$d,$html); exec("/etc/init.d/nginx restart "); //重启nginx exec("/etc/init.d/php-fpm restart");//重启php-fpm } } check("https://www.homezz.com","homezz.com"); ?>将该文件命名为 504check.php
修改权限 chmod +x 504check.php
然后crontab -e添加一行
* * * * * /xx/504check.php >/dev/null 2>&1
每分钟系统就会自动检测网站是否响应很慢,若如此,则重启
相关文章推荐
- 一个简单自动监控nginx 504错误的php脚本
- PHP 脚本自动监控 Nginx 504错误
- PHP脚本自动监控Nginx 504错误
- PHP脚本监控Nginx 502错误并自动重启php-fpm
- PHP脚本监控Nginx 502错误并自动重启php-fpm
- PHP脚本监控Nginx 502错误并自动重启php-fpm
- [php-fpm自动拉起]从nginx的502错误出发谈锁机制在服务器自动监控脚本中的应用
- 一个简单的RMAN自动备份脚本
- 监控php-fpm并自动重启服务的shell脚本
- 一个简单的监控网络流量的脚本
- 【sehll学习】linux运维一个简单shell脚本监控系统内存
- Linux平台自动部署脚本的一个简单例子
- zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数
- 一个centos7上全自动互动式编译nginx的脚本
- 一个php写的linux下lvm自动快照实现脚本
- 自动配置php、mysql、nginx的脚本
- Zabbix 监控Nginx_status 自动发现脚本
- 一个简单的自动创建Shell脚本的脚本
- 一个简单的脚本,实现自动执行MITM攻击(更新0.2)