如何解决网站无法访问 Apache也无法启动?

2021-03-16    分类: 网站建设

如何解决网站无法访问 Apache也无法启动?
1、错误现象
这是创新互联一个客户的案例,客户告知网站无法访问了,并且Apache也无法启动。客户的网站是基于Apache+Tomcat+Mysql构建,于是登录服务器查看信息如下图。
如何解决网站无法访问 Apache也无法启动?
这里提示的是http.pid文件的错误,熟悉Apache的读者应该知道httpd.pid文件其实是Apache的进程pid文件,Apache的启动进程ID放在这个文件中。
2、解决思路
既然提示httpd.pid这个文件有问题,那么先看看这个文件是否存在,以及其中的内容是什么。查看httpd.pid文件,操作如下:
linux:~#more/usr/local/apache2/logs/httpd.pid
发现这个文件存在,但是内容为空,这里肯定是有问题的。要解决这个问题,首先要了解Apache的启动机制及http.pid文件的作用。
httpd.pid文件为文本文件,内容只有一行,记录了httpd进程的pid。通过cat命令可以看到该文件的内容,通过这个pid文件可以防止进程启动多个副本。只有能获得pid文件的进程才能正常启动并把自身的pid写入该文件中。同一个程序的多余进程则自动退出。同时,httpd.pid文件在Apache正常启动时创建,正常关闭时自动删除,Apahce在启动时会查找httpd.pid文件是都存在,如果文件不存在创建此文件,将Apache启动的进程ID写入http.pid中,并提示启动成功。如果文件存在但内容为空,那么会出现“(2014)Internal error”的错误了。
在这个案例中,httpd.pid文件存在,但是内容为空,这个现象可能是磁盘空间耗尽导致的,也可能是系统突然断电导致的,总之导致这个问题的原因有很多种,这里并不打算深究,因为找到解决问题的办法是我们的目的。
3、解决问题
解决这个问题有两个办法:可以直接删除httpd.pid这个空文件,也可以将这个文件写入一个数字ID值,操作如下:
linux:~#echo"28976">>/usr/localo/apache2/logs/httpd.pid
linux:~#more/usr/local/apache2/logs/httpd.pid28976
接着,再次启动apache:
linux:~#usr/local/apache2/bin/apachectl start
这次Apache可以正常启动了,此时查看httpd.pid文件内容,信息如下:linux:~#more/usr/local/apache2/logs/httpd.pid7789
可以看到,Apache成功启动后,已经自动获取了一个新的pid值,进程间通信以这个pid进行。Apache在启动后,保持这个pid值不变,直到下次重新启动Apache才更新httpd.pid的值。

当前题目:如何解决网站无法访问 Apache也无法启动?
链接地址:/news22/105272.html

成都网站建设公司_创新互联,为您提供自适应网站企业建站微信小程序网站营销关键词优化移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

猜你还喜欢下面的内容

h5响应式网站建设