如何解決網(wǎng)站無法訪問 Apache也無法啟動?
1、錯誤現(xiàn)象
這是創(chuàng)新互聯(lián)一個客戶的案例,客戶告知網(wǎng)站無法訪問了,并且Apache也無法啟動??蛻舻木W(wǎng)站是基于Apache+Tomcat+Mysql構(gòu)建,于是登錄服務(wù)器查看信息如下圖。
這里提示的是http.pid文件的錯誤,熟悉Apache的讀者應(yīng)該知道httpd.pid文件其實是Apache的進程pid文件,Apache的啟動進程ID放在這個文件中。
2、解決思路
既然提示httpd.pid這個文件有問題,那么先看看這個文件是否存在,以及其中的內(nèi)容是什么。查看httpd.pid文件,操作如下:
linux:~#more/usr/local/apache2/logs/httpd.pid
發(fā)現(xiàn)這個文件存在,但是內(nèi)容為空,這里肯定是有問題的。要解決這個問題,首先要了解Apache的啟動機制及http.pid文件的作用。
httpd.pid文件為文本文件,內(nèi)容只有一行,記錄了httpd進程的pid。通過cat命令可以看到該文件的內(nèi)容,通過這個pid文件可以防止進程啟動多個副本。只有能獲得pid文件的進程才能正常啟動并把自身的pid寫入該文件中。同一個程序的多余進程則自動退出。同時,httpd.pid文件在Apache正常啟動時創(chuàng)建,正常關(guān)閉時自動刪除,Apahce在啟動時會查找httpd.pid文件是都存在,如果文件不存在創(chuàng)建此文件,將Apache啟動的進程ID寫入http.pid中,并提示啟動成功。如果文件存在但內(nèi)容為空,那么會出現(xiàn)“(2014)Internal error”的錯誤了。
在這個案例中,httpd.pid文件存在,但是內(nèi)容為空,這個現(xiàn)象可能是磁盤空間耗盡導(dǎo)致的,也可能是系統(tǒng)突然斷電導(dǎo)致的,總之導(dǎo)致這個問題的原因有很多種,這里并不打算深究,因為找到解決問題的辦法是我們的目的。
3、解決問題
解決這個問題有兩個辦法:可以直接刪除httpd.pid這個空文件,也可以將這個文件寫入一個數(shù)字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文件內(nèi)容,信息如下:linux:~#more/usr/local/apache2/logs/httpd.pid7789
可以看到,Apache成功啟動后,已經(jīng)自動獲取了一個新的pid值,進程間通信以這個pid進行。Apache在啟動后,保持這個pid值不變,直到下次重新啟動Apache才更新httpd.pid的值。
當前題目:如何解決網(wǎng)站無法訪問 Apache也無法啟動?
鏈接地址:http://aaarwkj.com/news22/105272.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、企業(yè)建站、微信小程序、網(wǎng)站營銷、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)