初步接觸Windows server 2003服務器的朋友在使用IIS的時候,不清楚IIS的一些常用設置,甚至胡亂設置,造成WEB服務器不能正常運行,服務器壓力增大、性能降低等問題,下面我們來了解一下IIS的幾個需要正確設置的地方。
IIS6.0的擴展服務
1、禁止多余的Web服務擴展
IIS6.0支持多種服務擴展,有些管理員偷懶或者不求甚解,擔心Web運行中出現解析錯誤,索性在建站時開啟了所有的Web服務擴展。殊不知,這其中的有些擴展比如“所有未知CGI擴展”、“在服務器端的包含文件”等是Web運行中根本用不到的,況且還占用IIS資源影響性能拖垮Web,甚至某些擴展存在漏洞容易被攻擊者利用。因此,科學的原則是,用到什麼擴展就啟用什麼擴展。
如果企業站點是靜態頁面,那什麼擴展都不要開啟。不過現在的企業站點都是交互的動態頁面比如asp、php、jsp等。如果是asp頁面,那只需開啟“Active Server Pages”即可。對於php、jsp等動態頁面IIS6.0默認是不支持的需要進行安裝相應組件實現對這些擴展的支持。不過,此時用不到的擴展完全可以禁用。
禁止Web服務擴展的操作非常簡單,打開“IIS管理器”,在左窗格中點擊“Web服務擴展”,在右側選擇相應的擴展,然後點擊“禁用”即可。
2、刪除不必要的IIS擴展名映射
IIS默認支持.asp、.cdx等8種擴展名的映射,這其中除了.asp之外其他的擴展幾乎用不到。這些用不著的擴展會加重web服務器的負擔,而且帶來一定的安全隱患。比如.asa,.cer等擴展名,就可以被攻擊者利用來獲得webshell。因為一般的asp系統都會限制asp文件的上傳,但如果沒有限制.asa或者.cer等擴展名,攻擊者就可以更改文件後綴突破上傳限制,運行.asa或者.cer的文件獲得webshell。
刪除IIS擴展名的操作是:打開IIS管理器,右鍵單擊“默認Web站點”選擇“屬性”,點擊“主目錄”選項卡,然後點擊“配置”打開應用程序窗口,最後根據自己的需要選擇不必要的應用程序映射比如.shtml, .shtm, .stm等,然後點擊“刪除”即可。
3、取消訪問記錄
IIS6.0默認開啟對於web的訪問記錄。當開啟記錄功能後,IIS會事無巨細地忠實記錄所有的web訪問記錄。這些記錄文件的內容是非常龐雜的,比如訪問時間、客戶端IP、從哪個鏈接訪問、 Cookies等,另外還包括 Method(方法), UserAgent(用戶代理)等。這些記錄不但占用大量的磁盤空間還大大地影響了web服務器的性能。有人做過評測,停止訪問記錄可以提升5%到8%的web性能。而且這些記錄對於一般用戶,特別是中小型的Web站點沒有什麼用途,簡直太耗費系統性能了,因此建議關閉它。
取消訪問記錄的操作是:打開IIS管理器,定位到具體的web站點,右鍵點擊選擇“屬性”,在“主目錄”選項卡下取消對“記錄訪問”的勾選即可。
4、對訪問流量進行限制
默認情況下IIS 6.0對於訪問量是沒有限制的,如果並發連接過大超過了Web的負載輕則發生網絡擁塞,重則導致服務器宕機。因此需要對用戶的訪問進行限制,控制Web訪問的流量。
打開“Internet信息服務”管理器,在其窗口右側點擊主機名前面的“+”號,依次定位到某個Web站點上。選中該Web站點右鍵單擊選擇“屬性”,在打開的屬性設置窗口中選中“性能”標簽,將“啟用帶寬限制”復選框選中,在隨後被激活的“最大網絡使用”設置框中,指定你的網絡站點帶寬的具體數值。大家可以根據服務器的性能及其訪問量綜合考慮繼續設置。對於一般的企業站點將帶寬流量設置為1500kb/s就差不多了。同時在“網站連接”下可以進行連接限制的設置,大家可以根據情況設置一個數值。完成以上設置後,IIS就只能使用其被授予的資源進行Web服務,杜絕了異常情況造成的服務器過載,為Web減負。
5、讓Web負載自由伸縮
默認情況下IIS是全負荷地為Web提供服務的,這在一定程度上加重了Web負擔。如何能夠自動地根據負載變化自動調節工作進程呢?
利用IIS 6.0的Web園,我們只需指定用於某個應用程序池的工作進程的數量就可以了實現各個Web站點之間的隔離。具體的配置步驟是:在“Internet信息服務”管理器中打開應用程序池的“屬性”對話框,轉到“性能”頁,在“Web園”下面的“最大工作進程數”輸入框中輸入進程數量。當服務器的負載較小,不需要額外的工作進程時,IIS 6.0在一定的時間後(默認20分鐘,可配置)自動縮減實際的工作進程數量;如果負載變大,需要額外的工作進程,IIS 6.0再次增加工作進程數量。另外,還可以“啟用CUP監視”,設置“最大CPU使用率”,“刷新CUP使用率值”以及“CPU使用率超過最大使用率是執行的操作”,這些設置可以根據需要進行設置。當一切設置完成後這一切就交給IIS自動進行,不需要管理員干預。
6、配置應用呈現池
IIS可以支持多個Web服務,特別是虛擬主機一台服務器上有非常多的Web站點。如何才能做到各個站點之間相互獨立,不因某些Web站點出現故障而影響其他站點呢?為不同工作進程指定應用程序池是個很好的解決辦法。
(1)、創建
打開“IIS 管理器”中,展開本地計算機,右鍵單擊“應用程序池”,選擇“新建→應用程序池”。在“應用程序池名稱”框中,輸入新的應用程序池名稱。如果點選選“將現有應用程序池作為模板”,可以在“應用程序池名稱”下來列表中選擇相應的應用程序池,最後單擊“確定”即可。
(2)、指派
在“IIS 管理器中”,右鍵單擊你要為其指派應用程序池的站點然後單擊“屬性”。在該站點的屬性面板中“主目錄”選項卡,在“應用程序池”下拉列表中選擇剛才創建的應用程序池即可。如果所有的選項為灰色,單擊“創建”按鈕就可以輸入“應用程序名”,然後在“應用程序池”列表框中,選擇並指派網站的應用程序池了。
(3)、回收
利用“回收”功能,可是設置如何恢復系統資源進行IIS資源使用的靈活定制。打開“IIS 管理控制台”,單擊“+”號依次“展開本地計算機→應用程序池”。選擇你要回收的應用程序池右鍵單擊選擇“屬性”,出現應用程序池的屬性對話框,單擊“回收”選項卡在其下可以設置“進程回收”、“內存回收”等,所有這些設置大家根據實際需要進行設置。