查看apache目录下logs/error_log 文件,监控到apache自动停止时,会报如下错误
[Tue May 21 14:03:01 2013] [notice] seg fault or similar nasty error detected in the parent process
然后,再手动重启apache,该错误文件会有如下信息:
[Tue May 21 14:06:32 2013] [warn] pid file /home/mimetex/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue May 21 14:06:32 2013] [notice] Apache/2.2.22 (Unix) configured -- resuming normal operations
一直没找到自动停止的原因,所以用crontab 每隔10秒钟,检测apache是否启动了,如果没启动,则执行启
动命令,crontab -e 增加如下定时任务:
* * * * * sleep 10;/mydir/autoapache.sh
autoapache.sh内容如下:
if [ `ps -ef|grep httpd | grep -v grep| wc -l` -eq 0 ];then
ipcs -s | grep mimetex | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
su - mimetex -c "/home/mimetex/apache/bin/httpd -k start"
fi
其中 ipcs -s | grep mimetex | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}' 表示清空之前遗留的信号量。
解决Apache自动停止并重启的异常错误
本文探讨了在Apache目录下logs/error_log文件中出现的错误信息,包括segfaultorsimilarnastyerrordetected和pidfileoverwritten等,并通过crontab定时任务监控Apache状态,实现自动重启。文中详细介绍了自动重启脚本autoapache.sh的实现方法,包括清空信号量和执行Apache服务的启动命令。
3780

被折叠的 条评论
为什么被折叠?



