目前,使用Windows 2003作為Web服務器的學校越來越多,然而對於用慣了Windows 2000/NT的用戶來說,如果想要架設一台完備、安全、可靠的Windows 2003服務器,可能會遇到很多意想不到的問題。筆者根據兩年來親身實踐的體會,重點針對學校中較常使用的Web服務的特點,結合與Windows 2000的區別進行重點闡述。
1. IIS 5.0 隔離模式
IIS 5.0隔離模式按照與IIS 5.0 中的進程管理相似的方式管理應用程序進程:所有的進程內應用程序都在Inetinfo.exe內運行,進程外應用程序在單獨的DLL宿主中運行。
2. IIS 6.0工作進程隔離模式
當配置為在工作進程隔離模式下執行時,所有的應用程序代碼都在隔離環境中運行。這種設計消除了一些現有的瓶頸。工作進程隔離模式允許管理員將任何內容(從單個 Web 應用程序到多個站點)隔離到獨立的工作進程中。
Windows 2003同時支持兩種工作模式,默認為ISS 6.0工作進程隔離模式。工作進程隔離模式防止一個應用程序或站點停止了而影響另一個應用程序或站點,大大增強了IIS的可靠性。那麼如何設置兩種工作模式呢?
啟動IIS管理器,右擊網站,選擇“屬性”,打開屬性對話框(圖1)。在IIS 6.0工作進程隔離模式下,所有的應用程序代碼都在隔離環境中運行,它們是如何進行隔離的呢?Windows 2003新增了應用程序池,工作進程隔離模式允許客戶創建多個應用程序池,每個應用程序池都可以有不同的配置。因為這些應用程序池直接從內核(而非WWW服務)接收它們的請求,所以性能和可靠性得到了增強。要隔離運行在同一台計算機上但屬於不同網站的Web應用程序,需要為每個網站創建單獨的應用程序池。
圖1 打開IIS屬性對話框
那麼,什麼是應用程序池呢?這是微軟的一個全新概念:應用程序池是將一個或多個應用程序鏈接到一個或多個工作進程集合的配置。因為應用程序池中的應用程序與其他應用程序被工作進程邊界分隔,所以某個應用程序池中的應用程序不會受到其他應用程序池中應用程序所產生的問題的影響。
3. 創建應用程序池
在IIS管理器中,打開本地計算機,右鍵單擊“應用程序池”,選擇新建“應用程序池” (必須在工作進程隔離模式下才能建立應用程序池) 。“應用程序池名稱”框中,輸入新的應用程序池名稱。如果在“應用程序池 ID”框中出現的 ID (如:AppPool #1)不是您想要的,可進行重命名。如果您單擊了“將現有應用程序池作為模板”,請在“應用程序池名稱”框中右鍵單擊想要用來作為模板的應用程序池。最後單擊[確定]。
4. 指派應用程序池
在 IIS 管理器中,右鍵單擊您要為其指派應用程序池的應用程序,然後單擊“屬性”。 單擊“主目錄”選項卡,確認您正在指派的目錄或虛擬目錄的“應用程序名”是否已被填寫。如果“應用程序名”框尚未被填寫,請單擊“創建”,然後輸入名稱。
在“應用程序池”列表框中,選擇您想要為其指派的應用程序池的名稱。最後單擊[確定](圖2)。
圖2 新創建的應用程序池名