Windows-Server-2003
Windows Server 2003 在 IIS 上檢測到 500 錯誤
我在 Windows Server 2003 上執行 IIS,我遇到了 500 內部伺服器錯誤的問題。我想檢測是否有任何使用者收到以下錯誤並在發生時重新啟動伺服器。
我只是找不到檢測伺服器是否返回此錯誤的好方法。我試圖通過在一段時間內從伺服器下載一些輕量級頁面並檢查錯誤來檢測它,但我認為這不是最佳變體。
請圍繞我的任務分享一些想法。提前致謝。
由於 500 響應而重新啟動 IIS 與用大錘猛擊雞蛋大致相同。您不會通過重新啟動來解決此問題,您必須通過找出導致 500 的原因並糾正它來解決您的問題。在 500 上自動重新啟動伺服器並不能解決問題。充其量這是一個非常弱的解決方法。
如果您有一個生成 500 的頁面並且需要重新啟動伺服器已經足夠糟糕了,那麼您的方式很糟糕,您應該專注於確定錯誤的原因。在 IIS 日誌中查找錯誤資訊。您可能需要啟用更多日誌欄位以獲取所需資訊。如果尚未啟用,請在您的應用程序中打開詳細的錯誤報告。
也就是說,如果您想檢測 500 何時發生,您將需要執行以下操作:
- 監控 IIS 日誌
- 監視 Windows 應用程序事件日誌。
- 編寫自定義腳本(客戶端)並將其添加到 500 錯誤的自定義錯誤頁面,以便它會通知您
可以在這篇文章中找到對 IIS 日誌的良好、簡潔的描述。相關片段:
IIS6(及其位置)最有價值的日誌文件是:
- HTTP.SYS 錯誤日誌 -
%windir%\System32\LogFiles\HTTPERR
(預設位置;可配置)- IIS 網站日誌 -
%windir%\System32\LogFiles\W3SVC#
(預設位置;可配置)**- 事件日誌(系統和應用程序)
如果您面臨連接過多的情況,那麼我仍然建議您對應用程序進行故障排除,尤其是記憶體洩漏。將有問題的應用程序隔離到它自己的應用程序池中,以避免重新啟動整個伺服器。