
簡介這是為Windows XP量身定制的IIS 6.0完整安裝包主要面向需要在舊版系統(tǒng)中搭建Web服務(wù)器、FTP站點或?qū)W習(xí)ASP動態(tài)網(wǎng)站開發(fā)的用戶。由于XP默認(rèn)未集成完整IIS組件該壓縮包一次性補齊了安裝所需的DLL動態(tài)庫、INF配置信息、EXE管理工具等文件省去手動搜索和匹配版本的麻煩。資源以RAR壓縮包形式提供共包含273個文件壓縮后僅11.69MB其中CHM幫助文檔提供詳細(xì)配置指南in_、ex_、dll等文件覆蓋服務(wù)核心模塊另有少量示例頁面與腳本便于安裝后直接測試。目前已有282人學(xué)習(xí)下載適合本地建站、程序調(diào)試、教學(xué)演示等場景。借助這份完整資源用戶可快速獲得IIS 6.0運行環(huán)境并參考附帶文檔完成Metabase管理、安全證書配置和FTP服務(wù)部署尤其適合初學(xué)者系統(tǒng)掌握服務(wù)器搭建流程。1. IIS 6.0 完整安裝包老運維翻箱倒柜也要找的那個組件手頭有一臺 Windows Server 2003 老服務(wù)器或一個必須跑在 IIS 6.0 上的遺留 OA你遲早會搜“iis6.0完整安裝包”。IIS 6.0 不像現(xiàn)代 IIS 那樣隨系統(tǒng)預(yù)裝、用“啟用功能”就能勾上它是以組件形式躺在 Windows Server 2003 系統(tǒng)盤里的一套服務(wù)。微軟從沒放出過官方獨立 exe 安裝包網(wǎng)上那些幾十 MB 的“完整安裝包”多半是個人從系統(tǒng)盤剝出來的半成品丟組件、帶腳本、被殺軟報毒是常事。這篇文章講清楚可靠安裝包怎么拿到手、怎么校驗、怎么離線裝進(jìn)虛擬環(huán)境以及裝完頭 10 分鐘該做什么。適合被老系統(tǒng)綁定、必須回頭維護(hù) 2003 的運維也適合要在測試環(huán)境復(fù)現(xiàn)老 IIS 行為的開發(fā)。2. IIS 6.0 能裝在哪先搞清完整安裝包的邊界2.1 系統(tǒng)版本門檻Server 2003 和 XP 的差別IIS 6.0 完整版的第一道門檻不是包本身而是宿主系統(tǒng)。在微軟產(chǎn)品線里IIS 6.0 完整版原生只能安裝在 Windows Server 2003含 R2上。Windows XP Professional 里那個也顯示為 IIS 6.0但它是削減版沒有 FTP、SMTP 和 NNTP 服務(wù)同一時刻只能跑一個 Web 站點。老運維常犯的錯誤是找一臺 Windows XP 裝同一個安裝包結(jié)果發(fā)現(xiàn)組件列表里少了一多半然后開始懷疑是“包不完整”。其實不是包不完整是系統(tǒng)沒有提供對應(yīng)組件的注冊入口。要完整的 FTP、SMTP、遠(yuǎn)程管理請直接上 Server 2003。在更晚的系統(tǒng)上比如 Windows 7、Windows 10、Windows Server 2008 R2 以上雙擊任何聲稱是“iis6.0完整安裝包”的 exe 都沒有意義——這些系統(tǒng)根本沒給 IIS 6.0 留內(nèi)核級宿主關(guān)鍵是 isapi 和元數(shù)據(jù)庫訪問層已經(jīng)換代。微軟給現(xiàn)代系統(tǒng)準(zhǔn)備的是一個叫“IIS 6 管理兼容性”的可選組件它提供的是 Metabase 兼容 API而不是一個完整的 IIS 6.0 運行時。這個區(qū)別很關(guān)鍵如果你是要“跑一個只能認(rèn) IIS 6.0 的老程序”需要的是完整運行環(huán)境那老老實實開一臺 Server 2003 虛擬機如果只是“讓老管理腳本能用”現(xiàn)代系統(tǒng)上的兼容組件就夠。安裝包本身還有 32 位和 64 位的區(qū)別。Windows Server 2003 x64 版帶的 IIS 6.0 以 32 位兼容模式WOW64運行這意味著所有 ISAPI 篩選器、ASP 應(yīng)用池默認(rèn)都會按 32 位進(jìn)程加載。老系統(tǒng)里如果混著 32 位和 64 位原生 DLL就要注意應(yīng)用池的“啟用 32 位應(yīng)用程序”開關(guān)。這個開關(guān)放錯表現(xiàn)通常是頁面 500、事件日志里出現(xiàn)加載 DLL 失敗。雖然你手里的“完整安裝包”文件結(jié)構(gòu)一樣、裝法一樣但 32/64 位宿主決定了后面一堆玄學(xué)問題別拿 x86 的排查習(xí)慣直接套 x64 環(huán)境。2.2 一個“完整”包里到底有什么在 Windows Server 2003 系統(tǒng)盤里IIS 6.0 不是孤立文件而是以“應(yīng)用程序服務(wù)器”這個 Windows 組件族的形式存在。打開控制面板的“添加或刪除程序”在“添加/刪除 Windows 組件”里能看到“應(yīng)用程序服務(wù)器”它的詳細(xì)信息里列著以下子組件Windows 組件組件 ID用途ASP.NETaspnet托管代碼 Web 應(yīng)用運行環(huán)境Internet 信息服務(wù)IISiis_common / iis_www核心 Web 服務(wù)、元數(shù)據(jù)庫和 ISAPI 支持FTP 服務(wù)iis_ftp文件傳輸服務(wù)基于 IIS 元數(shù)據(jù)庫配置SMTP 服務(wù)iis_smtp發(fā)信服務(wù)老應(yīng)用常用它做郵件通知NNTP 服務(wù)iis_nntp新聞組服務(wù)如今很少用到FrontPage 2002 Server Extensionsfp_extensions老網(wǎng)頁發(fā)布擴展裝了容易被利用遠(yuǎn)程桌面 Web 連接ts_web通過 Web 頁面提供遠(yuǎn)程桌面入口安全風(fēng)險高所謂“完整安裝包”正常情況下不是指一個下載回來的壓縮包而是你能把上述所有子組件一次裝齊的那套安裝介質(zhì)。很多人裝 IIS 6.0 時只勾了“Internet 信息服務(wù)”最外層導(dǎo)致 ASP 支持沒被帶進(jìn)來結(jié)果把 asp、aspx 頁面跑出 404 或 500然后反過來質(zhì)疑安裝包不完整。其實 IIS 6.0 的 ASP 支持不是一個單獨的大組件它掛在 IIS 信息服務(wù)詳細(xì)信息里的“萬維網(wǎng)服務(wù) → ASP”子項下默認(rèn)是勾上的但第三方精簡包往往會把它裁掉。完整安裝包的意義就是把這些默認(rèn)項都保留原樣。除了這些能“看到”的組件IIS 6.0 還依賴一組系統(tǒng)級服務(wù)IIS Admin Service管理元數(shù)據(jù)庫、World Wide Web Publishing Service請求處理和進(jìn)程管理以及底層的 RPC、Windows Sockets 和 CryptoAPI。裝 IIS 前這些基礎(chǔ)服務(wù)必須是啟用狀態(tài)。老系統(tǒng)如果之前被人優(yōu)化過服務(wù)列表把 Remote Procedure Call 或 Windows Management Instrumentation 停掉了IIS 安裝通常會半途失敗或者裝完服務(wù)起不來。這也是為什么明明“包沒問題”卻裝不上的常見原因之一。3. 完整安裝包從哪來從系統(tǒng) ISO 里提取并校驗3.1 網(wǎng)上的“iis6.0安裝包”為什么大多不敢用資深運維都有個習(xí)慣看到幾百 KB 到幾十 MB 的“IIS 6.0 完整安裝包”exe第一反應(yīng)是先掃毒第二反應(yīng)是查它到底是什么格式。因為 IIS 6.0 本質(zhì)是 Windows 組件官方發(fā)布形態(tài)是“系統(tǒng)安裝盤里的一組文件 注冊表腳本”從來沒有單獨發(fā)行過安裝器。網(wǎng)上那些打包成 exe 的版本多數(shù)是別人從自己的 2003 安裝盤 i386 目錄里把相關(guān)文件抽出來再用打包工具做成的“綠色安裝版”。這里頭的問題很多有的只抽了主程序丟掉了 inf 腳本裝完服務(wù)列表里根本沒有 w3svc有的是為了壓縮體積把 ASP 支持的腳本引擎、WScript 宿主都裁掉還有相當(dāng)一部分被人二次打包塞了挖礦腳本或后門裝完系統(tǒng)就成了別人肉雞。更隱蔽的坑是“精簡安裝包”會破壞組件注冊信息。正常安裝 IIS 時Windows 組件安裝器會按 sysoc.inf 寫入服務(wù)注冊表、創(chuàng)建 IIS 元數(shù)據(jù)庫、設(shè)置 WMI 提供程序。個人打包的 exe 如果繞開這些步驟只是把文件拷到 system32 再硬注冊幾個 DLL裝出來的 IIS 是殘缺的IIS Manager 可能能打開但服務(wù)起不來或起來后配置無法寫入 Metabase。這種環(huán)境很難排頁面報錯都看不懂。所以我在給老系統(tǒng)做恢復(fù)時一律不用第三方 exe只用系統(tǒng)盤/ISO 自帶的組件安裝路徑。這個習(xí)慣幫我避免過太多“裝好了卻是黑匣子”的返工。3.2 穩(wěn)妥路徑掛載 ISO 并復(fù)制 i386 目錄如果你手里有合法的 Windows Server 2003 安裝 ISO正版光盤鏡像或公司資產(chǎn)庫里的備份這就是最靠譜的“完整安裝包”。第一步是把 ISO 掛載到系統(tǒng)里。2003 原生不支持直接掛載 ISO常見做法是裝一個虛擬光驅(qū)工具或者把 ISO 解壓到一個目錄。對虛擬機來說更簡單的方式是把 ISO 直接掛到虛擬機的光驅(qū)上開機后它就是一張“光盤”。然后我習(xí)慣先把 i386 目錄整個復(fù)制到本地硬盤相當(dāng)于給自己留一個離線安裝包避免安裝到一半提示“請插入光盤”而光驅(qū)又恰好被占用。復(fù)制命令如下if not exist C:\i386 mkdir C:\i386 xcopy D:\i386 C:\i386 /E /I /H /R /Y參數(shù)含義/E 復(fù)制所有子目錄包括空目錄/I 如果目標(biāo)不存在就按目錄處理/H 包含隱藏和系統(tǒng)文件i386 里有些文件屬性是隱藏的漏掉后面就會缺文件/R 覆蓋只讀文件/Y 直接覆蓋不詢問。2003 的 i386 完整目錄大約 1.2 GB 到 1.8 GB取決于是否集成 Service Pack。復(fù)制完之后安裝程序需要的文件都在 C:\i386 里安裝時把文件來源指向這個目錄就不會因為光盤彈出、ISO 被占用而中斷。提示我從不在生產(chǎn)老服務(wù)器上直接裝網(wǎng)上流傳的個人打包 IIS 安裝包。要么用正版系統(tǒng)介質(zhì)要么先在虛擬機里驗證完整再操作。3.3 用 sysoc.inf 確認(rèn)組件注冊再用 certutil 校驗文件復(fù)制完目錄裝之前做兩件事。第一件是確認(rèn)系統(tǒng)認(rèn)識這個安裝入口。IIS 作為 Windows 組件它的安裝信息登記在 C:\WINDOWS\inf\sysoc.inf 里。用記事本打開這個文件能看到類似下面這樣的條目[Components] ; 下面是與 IIS 相關(guān)的部分組件注冊項 iis_commonoc.dll,OcEntry,iis.inf,HIDE,7 iis_wwwoc.dll,OcEntry,iis.inf,HIDE,7 iis_ftpoc.dll,OcEntry,iis.inf,HIDE,7 iis_smtpoc.dll,OcEntry,iis.inf,HIDE,7這個格式從左到右分別是執(zhí)行模塊 oc.dll、組件安裝入口函數(shù) OcEntry、安裝腳本 iis.inf、顯示屬性 HIDE表示不單獨出現(xiàn)在組件列表里、安裝順序 7。如果這一行缺失組件列表里就不會出現(xiàn) IIS即使你有完整的 i386 文件也裝不上。這時候需要手工補回 sysoc.inf或者檢查系統(tǒng)是不是被做過組件精簡Ghost 系統(tǒng)常見場景。注意改 sysoc.inf 前先復(fù)制一份為 sysoc.inf.bak格式寫錯會導(dǎo)致“添加/刪除 Windows 組件”對話框直接打不開。第二件事是校驗文件一致性。我不建議追求 MD5 對“網(wǎng)傳官方值”因為手頭 ISO 可能帶 SP1/SP2 整合包MD5 本來就和原版光盤不同。更實際的做法是先確認(rèn)關(guān)鍵文件存在、大小合理。例如 Web 服務(wù)的配置腳本 iis.inf 應(yīng)該在 i386 目錄里用 certutil 算一下哈希留個底certutil -hashfile C:\i386\iis.inf MD5 certutil -hashfile C:\i386\iis.dll MD5把兩個文件的哈希值記錄下來。如果日后裝出來行為異??梢杂孟嗤顝?fù)核看是不是文件在復(fù)制過程中損壞。這個“存檔哈?!钡牧?xí)慣在維護(hù)老環(huán)境時特別有用你永遠(yuǎn)不知道下一次接手的人會拿到什么版本的文件。不需要背哈希建一個 install_notes.txt 放在 C:\i386 旁每次從 ISO 提取都算一遍對比不一致就直接換來源。另外如果你用的是 2003 原版盤而沒有集成 SP2裝完 IIS 后必須立刻打補丁否則系統(tǒng)暴露在公網(wǎng)就是早年間那些蠕蟲的復(fù)活場。更舒服的做法是先用 /integrate 把 SP2 集成進(jìn) ISO再裝系統(tǒng)裝 IIS后面能少打一堆補丁。4. 離線安裝與靜默部署兩條路把這個組件包裝上4.1 圖形化安裝十分鐘把 IIS 6.0 裝進(jìn) Server 2003離線安裝的經(jīng)典路徑是圖形界面。前提是已經(jīng)把 i386 復(fù)制到本地并且系統(tǒng)是完整的 Windows Server 2003。操作步驟是這樣打開“控制面板 → 添加或刪除程序 → 添加/刪除 Windows 組件”等組件列表刷出來后勾選“應(yīng)用程序服務(wù)器”點“詳細(xì)信息”再勾選“Internet 信息服務(wù)IIS”。如果要在內(nèi)網(wǎng)提供文件傳輸把“FTP 服務(wù)”也勾上老 OA 需要發(fā)信通知勾“SMTP 服務(wù)”。關(guān)鍵一步是組件列表右側(cè)的“文件來源”點它把路徑指到 C:\i386然后確認(rèn)。接下來系統(tǒng)開始復(fù)制文件整個過程 3 到 10 分鐘取決于是否同時裝 ASP.NET 和 FrontPage 擴展。安裝完成后默認(rèn)會有一個 Web 站點跑在 80 端口物理路徑在 C:\Inetpub\wwwroot。不用重啟機器IIS 6.0 裝好后服務(wù)是即時啟動的。此時打開瀏覽器輸入 http://localhost能看到 IIS 6.0 默認(rèn)歡迎頁就說明裝通了。如果看不到先別急著調(diào)站點權(quán)限去“管理工具 → 服務(wù)”里確認(rèn) World Wide Web Publishing Service 是“已啟動”。這個服務(wù)是 HTTP 請求的直接入口它沒起來IIS Manager 里站點就是停止?fàn)顟B(tài)。很多人裝完 IIS 第一反應(yīng)是去改站點配置結(jié)果問題根本不在站點而是服務(wù)被系統(tǒng)的精簡策略禁用掉了。4.2 靜默自動安裝sysocmgr 加應(yīng)答文件如果要在多臺虛擬機上批量部署或通過遠(yuǎn)程會話給一臺沒法交互的機器裝 IIS用 sysocmgr 走無人值守安裝更合適。它是 Windows 組件安裝器的命令行外殼能把原來“點下一步”的過程交給一個應(yīng)答文件執(zhí)行。先寫一個純文本應(yīng)答文件指定要裝的組件 ID[Components] iis_common ON iis_www ON iis_ftp OFF iis_smtp OFF ts_web OFF注意組件 ID 必須和 sysoc.inf 里登記的 ID 嚴(yán)格一致。iis_common 是 IIS 公共文件iis_www 是萬維網(wǎng)服務(wù)ASP 支持在圖形界面里掛在 iis_www 的子項下所以只開 iis_www 就會帶上默認(rèn)的 ASP 支持。如果手里系統(tǒng)的 sysoc.inf 里額外注冊過 iis_asp也可以顯式加一行iis_asp ON沒注冊就不用加。下面的命令開始安裝sysocmgr /i:C:\WINDOWS\inf\sysoc.inf /u:C:\iis_install.txt /c參數(shù)說明/i 指定組件注冊文件必須指向系統(tǒng)當(dāng)前實際使用的 sysoc.inf/u 指向應(yīng)答文件/c 表示安裝過程結(jié)束后不顯示最終完成確認(rèn)頁適合腳本化調(diào)用。執(zhí)行后系統(tǒng)開始復(fù)制文件期間不要強制關(guān)機否則組件注冊表寫到一半下次開機服務(wù)列表會殘缺還得手工清理。靜默安裝和圖形安裝最終產(chǎn)出完全一樣區(qū)別只是少了一路點擊。4.3 安裝結(jié)果的最小驗證清單裝完 IIS 后先別急著部署站點按下面幾步驗證一遍能篩掉八成安裝問題。第一步看服務(wù)狀態(tài)sc query w3svc sc query iisadmin正常時兩個服務(wù) STATE 都應(yīng)該是 RUNNING。如果 w3svc 顯示 STOPPED 而 iisadmin 正常多半是端口被占或應(yīng)用池配置損壞。第二步用瀏覽器訪問 http://localhost看到默認(rèn)歡迎頁就說明 HTTP 棧通。第三步看日志目錄是否在寫dir C:\WINDOWS\system32\logfiles\W3SVC1只要有新建的 .log 文件說明請求處理鏈路完整。這套驗證從服務(wù)、端口、靜態(tài)頁面、日志四個維度檢查和當(dāng)年排 IIS 5.0 翻車時的思路一脈相承。全部通過再看 IIS Manager 里站點狀態(tài)是不是“正在運行”然后裝完頭 10 分鐘的任務(wù)才算結(jié)尾。5. 避坑指南IIS 6.0 安裝里最常見的五個坑IIS 6.0 的安裝坑基本集中在三個時間點安裝前來源與宿主、安裝中文件復(fù)制與組件注冊、安裝后服務(wù)與端口。下面五條是我在恢復(fù)老系統(tǒng)時踩過或幫人擦過屁股的高頻問題按現(xiàn)象、原因、解決寫遇到直接對照。5.1 下載的“完整安裝包”被殺軟干掉或雙擊提示不是有效程序現(xiàn)象從網(wǎng)盤下載的 iis6.0 安裝包雙擊后殺毒軟件直接報木馬或者提示“不是有效的 Win32 應(yīng)用程序”。有時第一次能打開裝到一半被系統(tǒng)攔截留下一個半截服務(wù)列表。原因第三方打包的 exe 不是微軟官方產(chǎn)物要么是自解壓程序被誤報要么確實被二次打包植入了遠(yuǎn)程控制腳本。更典型的問題是封裝時用了高版本打包工具或 64 位打包腳本32 位的 2003 根本無法執(zhí)行。解決放棄 exe回到系統(tǒng)盤/ISO 的組件安裝方式。手頭實在沒有 2003 安裝介質(zhì)就用自己公司鏡像庫里合法的 ISO一臺干凈的 Server 2003 虛擬機加原版 ISO比什么都靠譜。凡是安裝包下載記錄里“體積 5 MB 以下”“描述里強調(diào)免安裝綠色”的一律不看。5.2 添加/刪除 Windows 組件里沒有 IIS 或整項灰色現(xiàn)象在“應(yīng)用程序服務(wù)器”詳細(xì)信息里看不到“Internet 信息服務(wù)”或者看到了但復(fù)選框是灰色不可選。還有一種情況是整個“應(yīng)用程序服務(wù)器”條目都不存在。原因系統(tǒng)版本不對。Windows XP 只能裝功能受限的 IIS 6.0入口和 Server 2003 完全不同被封裝過的 Ghost 版 Server 2003 可能把組件安裝信息從 sysoc.inf 里刪掉了也可能是安裝者曾用工具精簡過系統(tǒng)把 iis.inf 和 iis.dll 都移除了組件注冊信息跟著丟失。解決先確認(rèn)系統(tǒng)是完整的 Windows Server 2003不是 XP 也不是精簡修改版。如果只是 sysoc.inf 里條目被刪可以手工補回組件注冊行并確保 i386 里有 iis.inf 和 iis.dll。補一次要小心別把格式寫錯先備份 sysoc.inf 再改。如果系統(tǒng)已經(jīng)被深度精簡別戀戰(zhàn)直接換一臺標(biāo)準(zhǔn) 2003 虛擬機精簡系統(tǒng)后續(xù)維護(hù)成本只會更高。5.3 裝到一半提示需要插入磁盤或找不到 iis.inf現(xiàn)象圖形安裝進(jìn)行到文件復(fù)制階段彈窗提示“請將 Windows Server 2003 安裝盤插入光驅(qū)”指向某個具體文件時系統(tǒng)說找不到。光驅(qū)里明明有 ISO卻怎么都不認(rèn)。原因安裝程序在復(fù)制階段按注冊表里的 SourcePath 找文件如果 i386 目錄沒復(fù)制完整、ISO 盤符變化或虛擬光驅(qū)被其他虛擬機占用就會提示插盤。另一個場景是 2003 無 SP 原版盤在安裝時校驗文件版本不一致同樣會中斷。解決安裝前把 i386 完整復(fù)制到本地并讓文件來源明確指向 C:\i386。集成過 SP2 的盤一般不出現(xiàn)版本不匹配問題光盤沒集成 SP 就先提取再裝。還有個小技巧裝之前先在命令提示符里執(zhí)行一下dir C:\i386\iis.inf確認(rèn)文件存在、大小不為 0。這種 5 秒鐘的預(yù)檢能省掉安裝到一半中斷的煩躁。5.4 裝完默認(rèn)頁打不開403 或者 500現(xiàn)象http://localhost 返回 403 Forbidden 或 500 內(nèi)部錯誤而服務(wù)狀態(tài)都顯示正在運行。403 有自己的提示頁500 則大多是 ASP 相關(guān)錯誤。原因403 多數(shù)是默認(rèn)文檔或權(quán)限問題500 里相當(dāng)大一部分是 ASP 支持沒裝上。前面說過第三方精簡包經(jīng)常裁掉 ASP 的腳本引擎注冊導(dǎo)致 .asp 文件全部 500而靜態(tài) html 正常。還有一部分 500 是 IWAM 賬號和 IIS 進(jìn)程賬號的密碼不同步老系統(tǒng)恢復(fù)場景很常見。解決先確認(rèn) IIS 信息服務(wù)里“萬維網(wǎng)服務(wù) → ASP”是勾選狀態(tài)沒勾就補勾重裝。IWAM 賬號不同步可以用“管理工具 → 計算機管理 → 本地用戶和組”檢查 IWAM_機器名 賬號狀態(tài)然后在命令提示符執(zhí)行cscript C:\Inetpub\AdminScripts\synciwam.vbs -v這條腳本會把 IIS 元數(shù)據(jù)庫中的進(jìn)程標(biāo)識密碼同步到本地賬號數(shù)據(jù)庫跑完再去刷新頁面。這是 IIS 6.0 時代排 ASP 500 的保留手段比手工改密碼省事得多。5.5 w3svc 死活起不來依賴服務(wù)或端口被占現(xiàn)象IIS 裝完iisadminIIS Admin Service能啟動但 w3svc 一啟動就自動停止事件日志里寫“服務(wù)在啟動后停止”或“地址已被占用”。有時 iisadmin 本身就起不來提示“服務(wù)無法啟動”。原因按頻率排序第一系統(tǒng)服務(wù)被優(yōu)化工具禁用了 RPC 或 Windows Management InstrumentationIIS Admin 連不上元數(shù)據(jù)庫第二80 端口被其他 Web 服務(wù)Apache、Nginx、某些網(wǎng)管軟件占用w3svc 綁定失敗第三Metabase 損壞或權(quán)限 ACL 不對導(dǎo)致進(jìn)程無法讀取配置。解決先從服務(wù)維度查sc query rpcss sc query winmgmt確保兩個依賴服務(wù)狀態(tài)是 RUNNING。然后看端口netstat -ano | findstr :80如果出現(xiàn)非 IIS 進(jìn)程占用先把對方停掉或把 IIS 默認(rèn)端口改到 8080 測試。Metabase 損壞時IIS Manager 打開會報錯可以嘗試從之前的備份恢復(fù)沒備份就只能用cscript adsutil.vbs DELETE w3svc把 Web 服務(wù)配置刪掉重建這是最后手段但確實有效。6. 裝完以后立刻做三件事快照、Metabase 備份、最小冒煙IIS 6.0 裝通只是開始。我的習(xí)慣是裝完十分鐘內(nèi)做三件事順序不能亂。第一在虛擬機上打一個快照。IIS 6.0 的元數(shù)據(jù)庫是明文 XML很多老配置操作不可逆比如改錯了應(yīng)用池隔離模式再想切回 IIS 5.0 隔離模式只靠界面按鈕往往無效??煺帐呛蠡谒幣渲酶膲闹苯踊貪L比在系統(tǒng)里慢慢修省一晚上。第二件事備份 Metabase。在 IIS Manager 里右鍵本地計算機“所有任務(wù)”→“備份/還原配置”→“創(chuàng)建備份”起個好認(rèn)的名字比如 pre_deploy。備份文件存在 C:\WINDOWS\system32\inetsrv\MetaBack包含 metabase.xml 和 schema 文件夾。恢復(fù)時在同一個界面點“還原”或者用命令行cscript C:\Inetpub\AdminScripts\adsutil.vbs BACKUP pre_deploy如果不放心直接復(fù)制 MetaBack 目錄到其他盤也可以注意 IIS Admin 服務(wù)在復(fù)制時會鎖文件先停止服務(wù)再復(fù)制更穩(wěn)。第三件事做最小冒煙測試把帶業(yè)務(wù)邏輯的 aspx 測試頁丟到站點目錄確認(rèn)腳本引擎和數(shù)據(jù)庫連接通道可用給 SMTP 虛擬服務(wù)器發(fā)一封測試信。三項都過再開始遷移真實站點。當(dāng)年我接手一臺 2003裝完沒做備份就調(diào) ISAPI 篩選器結(jié)果 Metabase 損壞、服務(wù)起不來花了兩個晚上才恢復(fù)。老系統(tǒng)的特征是“壞了之后修復(fù)工具比系統(tǒng)本身更難找”所以任何操作之前先留恢復(fù)點。希望這個習(xí)慣也能幫到你。如果這臺 IIS 6.0 只是為了兼容舊代碼盡早規(guī)劃把應(yīng)用遷到現(xiàn)代 IIS 的共享配置上——IIS 6.0 的隔離模式、腳本引擎和補丁支持終會跟不上時代早做打算別等翻車再后悔。本文還有配套的精品資源點擊獲取