將 ASP.NET 網站部署到 IIS 是開發者必備技能。本文整理四種主流發布方法、關鍵權限設定,以及部署後常見錯誤的排查清單,助您一次部署成功。
前置準備:啟用 IIS 對 ASP.NET 的支援
預設 IIS 未啟用 ASP.NET。請開啟 IIS 管理器 → 「Web 服務擴展」 → 確保 ASP.NET v2.0.50727 狀態為「允許」,其餘可保持禁止。
方法一:直接複製至 IIS 根目錄 (C:\Inetpub\wwwroot)
- 將經 VS 調試無誤的專案資料夾複製到
wwwroot。
- 右鍵資料夾 →「屬性」→「安全性」→ 確認 Internet 來賓帳戶 (IUSR_機器名) 擁有「讀取」權限(複製通常會繼承,若更改過 IIS 主目錄需手動授權)。
- IIS 管理器中刷新,右鍵該資料夾 →「屬性」→「目錄」分頁:勾選「讀取」、「記錄存取」、「索引資源」。
- 切換「目錄安全性」分頁 →「驗證及存取控制」→「編輯」:勾選「允許匿名存取」與「整合式 Windows 驗證」切勿修改匿名帳戶密碼。
- 若非預設文件名 (index/default/iistart) 作為首頁,「文件」分頁 →「啟用預設內容文件」→「新增」您的首頁檔名。
- 回「目錄」分頁點擊「建立」將資料夾轉為應用程式(需執行腳本請勾選「腳本資源存取」與「純腳本」執行權限)。
方法二:使用 Visual Studio 2008 內建發布功能
- 方案總管右鍵專案 →「發布網站」。
- 「目標位置」點選「瀏覽」(...) → 左側選「本機 IIS」 → 右側點「建立新 Web 應用程式」或「建立虛擬目錄」 → 輸入名稱 → 一路確定完成。
方法三:建立虛擬目錄發布
- IIS 管理器 → 右鍵「預設網站」→「新增」→「虛擬目錄」→ 輸入別名 → 選擇專案實體路徑。
- 建議:先將專案複製到
wwwroot 下再建虛擬目錄,利於備份且免重設權限。若放其他位置,需手動授權「讀取」與「執行腳本」權限。
- 權限設定:除「讀取」外務必勾選「執行腳本」。
方法四:使用資料夾「Web 共享」發布
- 專案資料夾右鍵 →「共用和安全性」→「Web 共用」分頁 → 勾選「共用此資料夾」→ 設定別名 → 確定(可按需勾選腳本選項)。
- 建議:先複製到固定目錄再操作,某些位置 (如桌面) 可能失敗。
部署後常見問題排查清單
- Web 服務擴展:確認 ASP.NET v2.0.50727 已允許。
- 資料夾 NTFS 權限:
wwwroot 或專案資料夾 →「安全性」→ 必須包含 Internet 來賓帳戶,至少給予「讀取」。
- IIS 網站屬性:
- 「主目錄」:勾選「讀取」、「記錄存取」、「索引資源」。
- 「目錄安全性」:匿名存取 + 整合式 Windows 驗證皆勾選。
- 「ISAPI 篩選器」:應為空白。
- 「文件」:自訂首頁已加入「啟用預設內容文件」。
- 應用程式層級設定:展開「預設網站」→ 右鍵對應應用程式 →「屬性」→ 同樣檢查「目錄」、「目錄安全性」、「文件」三分頁。
補充提醒
- 防火牆阻擋、ODBC 設定錯誤、效能限制、執行緒限制亦可能導致無法存取。
- 若遇上傳大檔失敗,請參考 IIS 6.0
AspMaxRequestEntityAllowed 設定 (預設 200KB),需修改 metabase.xml 並重啟 IIS Admin Service。
掌握以上方法與檢查清單,ASP.NET 網站部署將更加順利可控。