遇到一個在Windows Server2012 R2
系統,IIS
服務器啟動問題,無論如何嘗試啟動IIS
,始終提示“當文件已存在時,無法創建該文件”,一個令人懵比的問題,文件已存在,哪里存在了?不知道,就只能夠盲人摸象,一步步排查,開始填坑,此處以Win10
作為問題復現環境
填坑記錄
作死流程
系統中安裝好IIS
,在未做任何修改之前,IIS
能夠正常啟動和訪問,因為個人需要對C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
文件進行部分修改配置,由於涉及到系統,所有,一般在修改前會習慣性的對文件保留一個副本,於是出現如下結構目錄
意外出現
關閉IIS
后,再次啟動,出現如下錯誤:
這是啥問題?於是將之前修改過的變更,進行還原,萬能重啟
,還是不行,IIS
這就崩了?心中無數頭羊駝,在奔騰~,又不想重裝系統,喝口熱茶,緩解一下緊張氣氛,接着找問題
問題排查
通過查閱網上資料可以知道,IIS
正常啟動依托至少兩個服務,一個是W3SVC
也就是World Wide Web Publishing Service
,一個是WAS
也就是Windows Process Activation Service
,查找到這兩個服務,發現當前兩個服務都未能啟動,先嘗試W3SVC
,啟動提示“服務依賴或者工作組異常”,查看服務屬性,其中的依賴,一個個核對
服務停止
啟動提示
啟動W3SVC
服務出現依賴服務或組無法啟動
,修改之前IIS
是能夠正常使用的,說明組件是完整的,需要查看服務的依賴服務或者相關組是否啟動
查看依賴
打開本地服務,在服務列表中找到World Wide Web Publishing Service
,查看對應的屬性信息,具體信息如下:
發現W3SVC
的依賴項其中之一是WAS
,其余依賴性都已經啟動,唯獨WAS
未啟動,因而,異常問題定位到WAS
服務未啟動上,嘗試啟動,提示信息與啟動IIS
啟動時保持一致
原因與總結
原因
將對應的服務名稱和錯誤信息,進行瀏覽器搜索,得到一個解決方案,此處為傳送門Windows Process Activation Service無法啟動,錯誤183,雖然是描述較少,好在問題和本人的問題是一模一樣,網友自問自答,也是很好的,在inetsrv\config\schema
文件夾下,所有文件不能存在備份文件,之前為了保留原有文件,進行文件副本的保留,造成服務啟動過程中,運行異常,而WAS
又是W3SVC
的依賴服務,故而,兩個服務都無法啟動運行,刪除掉C:\Windows\System32\inetsrv\config\schema\IIS_schema-副本.xml
文件
依次啟動WAS
和W3SVC
服務,能夠正常啟動
再次啟動IIS
就能夠正常使用了,免於系統的重裝,當然,環境也保住了
總結
因為自己保留原有文件的處理措施,給自己帶來了兩個小時的排錯排查,實屬填坑,沒有想到IIS
的相關服務會出現這樣的問題,同時對服務依賴的異常排查有了一個更加深入的了解,積累成為接觸疑難雜症的經驗
如果你也是技術愛好者,可以關注一波~~