當前位置:編程學習大全網 - 源碼下載 - Apache源代碼調試

Apache源代碼調試

隨著網絡技術的普及應用和Web技術的不斷完善,Web服務已經成為互聯網上重要的服務形式之壹。原來的客戶機/服務器模式正逐漸被瀏覽器/服務器模式所取代。本文將重點介紹Apache服務器的故障排除技巧。

首先,檢查配置文件中的錯誤

Apache服務器的設置文件位於/etc/work”消息Apache在可能的平臺上使用系統調用sendfile來加速響應的發送。不幸的是,在某些系統上,Apache會在編譯時檢測到sendfile的存在,即使它不能正常工作。當使用網絡或其他非標準文件系統時,這種情況經常發生。此問題的癥狀包括錯誤日誌中出現的上述信息,以及對非零長度文件請求發送零長度響應。壹般這個問題只發生在靜態文件上,因為動態文件通常不使用sendfile。要解決此問題,可以使用EnableSendfile命令關閉服務器所有部分對Sendfile的使用。同時參考EnableMMAP指令,對類似問題有幫助。”準備腳本頭結束”消息大多數導致此錯誤的CGI腳本問題都會向瀏覽器發送“內部服務器錯誤”錯誤消息。“Permission denied”消息error_log中的“Permission denied”錯誤以及發送到客戶端的“Forbidden”消息通常表示違反了文件系統的權限,而不是Apache HTTP的配置文件中的錯誤。檢查用於運行子流程的用戶和組是否有足夠的權限訪問導致問題的文件。同時檢查引起問題的文件所在的目錄及其所有父目錄是否有執行(搜索)權限(即chmod +x)。最近發布的Fedora Core和其他Linux發行版使用SELinux進行額外的訪問控制,違反這些限制也會導致“權限被拒絕”的消息。不允許POST方法”消息這表明Apache沒有正確配置來執行CGI程序。請再次閱讀配置Apache以了解缺少了什麽。內部服務器錯誤”消息請參考Apache錯誤日誌,以找到由CGI程序生成的錯誤消息“腳本頭準備結束”。在這方面,有必要檢查以下項目,找出為什麽無法生成正確的HTTP頭。

1檢查錯誤日誌!

當妳遇到問題時,Apache服務器會盡力幫助妳。在許多情況下,它會通過在錯誤日誌中寫入壹條或多條消息來提供壹些詳細信息。有時候這就足夠妳自己診斷解決問題了(比如文件權限或者類似的問題)。錯誤日誌的默認位置是/usr/local/Apache 2/logs/error _ log,但是最後,請查看配置文件中的錯誤日誌指令,以確認錯誤日誌在服務器上的確切位置。

再次檢查語法。

Apache配置文件是httpd.conf,通常有80-990行長。幾乎99%的Apache故障都是由語法錯誤引起的。您可以手動檢查/etc/httpd/conf/httpd.conf,也可以輸入:

http://192.168.1.12/server-info?配置

獲取當前的配置文件,如圖3所示。

圖3當前的Apache服務器配置文件

說明:系統會自動添加行號。

3查看Apache的FAQ!

最新的Apache FAQ列表總是可以從Apache主站點獲得。

4查看Apache錯誤數據庫

報告給Apache項目團隊的大多數問題都記錄在bug數據庫中。在添加新的bug之前,壹定要檢查現有的報告(打開的和關閉的)。如果妳發現妳的問題被舉報了,請不要再加“我也是”這樣的舉報。如果原報道還沒有關閉,建議妳定期來看看。也可以考慮聯系原提交人,因為在郵件交流中可能會發現數據庫中沒有記錄的問題。

5在用戶論壇上提問

Apache有壹個活躍的用戶社區,願意分享知識。參與這個社區通常是獲得答案的最快和最好的方式。

Apache用戶郵件列表:

6向錯誤數據庫提交問題報告

如果以上步驟沒有得到回答,請確保httpd的開發人員了解這個問題,並前往此處(

)提交bug報告。

7獲得業務支持

  • 上一篇:web前端怎麽入門學習?
  • 下一篇:函數源代碼
  • copyright 2024編程學習大全網