windows sever 2008 服務(wù)器安裝完畢之后,默認(rèn)是不安裝iis的,也就是沒有Internet信息服務(wù)信息管理器的,需要自己在手動(dòng)安裝。安裝方法就是:在開始》主機(jī)管理》服務(wù)器管理》功能》選擇添加iis即可,這里不贅述。要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模塊給裝上的,默認(rèn)是不安裝的。
IIS7安裝完成之后可以在開始菜單的所有程序中看到“管理工具”,其中有一個(gè)“Internet信息服務(wù)管理器”,如果沒有可以按以下步驟添加:開始》右擊屬性》“開始”菜單選項(xiàng)卡》自定義》把“系統(tǒng)管理工具”設(shè)置為“在所有程序菜單顯示”或者“在所有程序菜單和開始菜單上顯示”。
也可以通過在開始運(yùn)行里輸入命令來進(jìn)入這個(gè):Internet信息服務(wù)管理器,命令是:開始 – 運(yùn)行 – 輸入“Inetmgr”打開。
下面是支持asp+acess設(shè)置的具體方法
①設(shè)置應(yīng)用程序池(ApplicationPool)為Classic.NETAppPool,而不是默認(rèn)的DefaultAppPool,操作方法:進(jìn)入Internet信息服務(wù)信息管理器,進(jìn)入網(wǎng)站主頁,點(diǎn)擊右側(cè)的基本設(shè)置,將應(yīng)用程序池改成Classic .NET AppPool,然后確定。
提示:可以在網(wǎng)站目錄里對(duì)每個(gè)站點(diǎn)設(shè)置,也可以在站點(diǎn)進(jìn)行單獨(dú)設(shè)置。選擇好要設(shè)置的站點(diǎn)之后,點(diǎn)右邊的“基本設(shè)置”即可調(diào)出應(yīng)用程序池設(shè)置對(duì)話框。
②系統(tǒng)盤C:WindowsServiceProfilesNetworkServiceAppDataLocalTemp 下的網(wǎng)站權(quán)限屬性設(shè)置成對(duì)于該網(wǎng)站的的用戶。
方法:
設(shè)置權(quán)限步驟:右擊Temp文件夾,選擇“屬性”》選擇“安全”選項(xiàng)卡》單擊“編輯”》出來“Temp的權(quán)限”對(duì)話框,單擊“添加”,在下面的“輸入對(duì)象名稱來選擇”中輸入ceshi,確定》
返回到“Temp的權(quán)限”,將ceshi的權(quán)限中的完全控制給勾上,確定》確定。 這里的測(cè)試ceshi賬戶是原先針對(duì)該網(wǎng)站已經(jīng)設(shè)置好的賬戶,這里直接使用。如果沒有需要自己建立賬戶。建立賬戶的方法,以后另作講解。
③在站點(diǎn)主頁上選擇“ASP”,然后在“行為”組中將“啟用父路徑”設(shè)置為True即可。方法是:?jiǎn)螜C(jī)行為組中的asp,然后單機(jī)右側(cè)的打開功能,將里面的啟用父路徑”設(shè)置為True,確定。
相關(guān)知識(shí)點(diǎn):
什么是MSJet引擎?百度說明:http://baike.baidu.com/view/1169484.htm
引擎(engine)能夠決定程序管理和數(shù)據(jù)操作的程序或程序段。數(shù)據(jù)庫引擎就是操作數(shù)據(jù)庫的一段程序或程序段。
Microsoft Jet是Microsoft Access和Visual Basic使用的一種數(shù)據(jù)庫引擎。在DAO3.1版本以前,數(shù)據(jù)訪問對(duì)象DAO(data access object)被定義為“Microsoft Jet引擎的編程接口”,也就是說,DAO和Jet在歷史上幾乎是同義詞。DAO訪問數(shù)據(jù)庫都要通過Microsoft Jet數(shù)據(jù)庫引擎來完成。當(dāng)然,這兩個(gè)概念在內(nèi)涵上是不一樣的,Jet不能被直接使用,只有通過DAO或Access才能直接使用Jet.
但是,DAO3.1之后增加了一項(xiàng)重要的功能,這就是ODBCDirect訪問。ODBCDirect使得DAO可以跳過Jet引擎,直接訪問ODBC數(shù)據(jù)源。正是由于有了這項(xiàng)功能,DAO不再綁定在Jet上了,DAO與Jet仍有千絲萬縷的聯(lián)系。一般來說,如果應(yīng)用程序使用的是本地?cái)?shù)據(jù)庫,那么DAO一般都通過Jet來訪問數(shù)據(jù)庫,反之,如果使用的是遠(yuǎn)程數(shù)據(jù)庫,那么DAO通過ODBCDirect來訪問數(shù)據(jù)庫。
Jet是通過SQL來驅(qū)動(dòng)的,但是這種SQL可能和通常的實(shí)現(xiàn)不太一樣。這種情況下可能會(huì)帶來好處,也有可能會(huì)帶來壞處。當(dāng)使用DAO訪問數(shù)據(jù)庫時(shí)就必須考慮這種差別。因?yàn)镴et的SQL的運(yùn)行和一些標(biāo)準(zhǔn)的SQL運(yùn)行性能差異很大。、
什么是應(yīng)用程序池?
這是微軟的一個(gè)全新概念:應(yīng)用程序池是將一個(gè)或多個(gè)應(yīng)用程序鏈接到一個(gè)或多個(gè)工作進(jìn)程集合的配置。因?yàn)閼?yīng)用程序池中的應(yīng)用程序與其他應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個(gè)應(yīng)用程序池中的應(yīng)用程序不會(huì)受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問題的影響。
Windows 2003同時(shí)支持兩種工作模式,默認(rèn)為IIS 6.0工作進(jìn)程隔離模式。工作進(jìn)程隔離模式防止一個(gè)應(yīng)用程序或站點(diǎn)停止了而影響另一個(gè)應(yīng)用程序或站點(diǎn),大大增強(qiáng)了IIS的可靠性。那么如何設(shè)置兩種工作模式呢?
啟動(dòng)IIS管理器,右擊網(wǎng)站,選擇“屬性”,打開屬性對(duì)話框
在IIS 6.0工作進(jìn)程隔離模式下,所有的應(yīng)用程序代碼都在隔離環(huán)境中運(yùn)行,它們是如何進(jìn)行隔離的呢?Windows 2003新增了應(yīng)用程序池,工作進(jìn)程隔離模式允許客戶創(chuàng)建多個(gè)應(yīng)用程序池,每個(gè)應(yīng)用程序池都可以有不同的配置。因?yàn)檫@些應(yīng)用程序池直接從內(nèi)核(而非WWW服務(wù))接收它們的請(qǐng)求,所以性能和可靠性得到了增強(qiáng)。要隔離運(yùn)行在同一臺(tái)計(jì)算機(jī)上但屬于不同網(wǎng)站的Web應(yīng)用程序,需要為每個(gè)網(wǎng)站創(chuàng)建單獨(dú)的應(yīng)用程序池。
創(chuàng)建應(yīng)用程序池
在IIS管理器中,打開本地計(jì)算機(jī),右鍵單擊“應(yīng)用程序池”,選擇新建“應(yīng)用程序池” (必須在工作進(jìn)程隔離模式下才能建立應(yīng)用程序池) 。“應(yīng)用程序池名稱”框中,輸入新的應(yīng)用程序池名稱。如果在“應(yīng)用程序池 ID”框中出現(xiàn)的 ID (如:AppPool #1)不是您想要的,可進(jìn)行重命名。如果您單擊了“將現(xiàn)有應(yīng)用程序池作為模板”,請(qǐng)?jiān)凇皯?yīng)用程序池名稱”框中右鍵單擊想要用來作為模板的應(yīng)用程序池。最后單擊[確定]。
指派應(yīng)用程序池 在 IIS 管理器中,右鍵單擊您要為其指派應(yīng)用程序池的應(yīng)用程序,然后單擊“屬性”。 單擊“主目錄”選項(xiàng)卡,確認(rèn)您正在指派的目錄或虛擬目錄的“應(yīng)用程序名”是否已被填寫。如果“應(yīng)用程序名”框尚未被填寫,請(qǐng)單擊“創(chuàng)建”,然后輸入名稱。
在“應(yīng)用程序池”列表框中,選擇您想要為其指派的應(yīng)用程序池的名稱。最后單擊[確定]。
百度說明:http://baike.baidu.com/view/470212.htm
管理應(yīng)用程序池:微軟官方說明檔http://technet.microsoft.com/zh-cn/library/cc753449%28WS.10%29.aspx
IIS應(yīng)用程序池假死問題解決辦法 原文http://blog.sina.com.cn/s/blog_5a0a16d30100co6c.html
iis問題,應(yīng)用程序池!
為應(yīng)用程序池 'AppPool #1' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過了限制。進(jìn)程 ID 是 '3000'。
出現(xiàn)上面情況后,該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站就訪問的非常慢,幾乎是打不開。
這種現(xiàn)象是不是iis假死?
重啟下該站點(diǎn),問題可以得到解決。
可能是應(yīng)用程序池設(shè)置問題,不知道具體應(yīng)該怎么設(shè)置!
請(qǐng)高手指點(diǎn)。
程序代碼解決辦法:
1 設(shè)置進(jìn)程池回收時(shí)間.在進(jìn)程池屬性里.
2 如果你的程序是使用 asp + acc 數(shù)據(jù)庫.且acc數(shù)據(jù)庫大于30m.建議更換sql數(shù)據(jù)庫. acc數(shù)據(jù)庫大于這個(gè)值.2003系統(tǒng)下會(huì)造成iis6的頻繁假死.2000下會(huì)造成dllhost.exe占用大量cpu及內(nèi)存資源.都會(huì)嚴(yán)重影響web訪問速度.
3 asp程序存在死循環(huán).
4 可使用 microsoft office 壓縮修復(fù)acc數(shù)據(jù)庫,須先備份.
引用內(nèi)容2003應(yīng)用程序池假死常見問題及解決方法
經(jīng)常見到大家談起,2003應(yīng)用程序池自動(dòng)死了,不能恢復(fù)了,一直出現(xiàn) Service Unavailable 常見方法如下。
1:以前沒有SP1打補(bǔ)丁的時(shí)候會(huì)出現(xiàn)這個(gè)IIS6。0假死問題,但現(xiàn)在微軟都在自動(dòng)更新里面出補(bǔ)丁了,一般你打好最新補(bǔ)丁后是不會(huì)出現(xiàn)此問題了。(所以現(xiàn)在的IIS假死與這個(gè)關(guān)系不是很大)
2:從IIS6.0開始CPU資源都在應(yīng)用池里面限制了,不象以前的IIS。5。所以假死的池的緣故就是池被拉死,你在網(wǎng)站打不開的時(shí)候可以看到你的某個(gè)應(yīng)用池是禁用的,上面出現(xiàn)一個(gè)紅叉。你鼠標(biāo)右鍵啟動(dòng)網(wǎng)站又會(huì)自動(dòng)恢復(fù)。這個(gè)原因:大概是以下幾個(gè)因數(shù)造成的。
(1):你限制了應(yīng)用池的資源限制,限制得太小比如:50這樣或更少更多一點(diǎn),這個(gè)時(shí)候如果你這個(gè)池下面的網(wǎng)站占用CPU太高,比如超過50% 那么5分鐘后他就自動(dòng)死了,手工默認(rèn)建立的應(yīng)用池默認(rèn)是超過資源不操作。
出現(xiàn)上面這個(gè)情況解決方法:1:不限制CPU資源,(這個(gè)是不可取的,不限制資源,有的程序有BUG占用資源厲害了的,服務(wù)器都會(huì)被拉死,你可能都無法操作服務(wù)器。)2:在超過資源那里選擇關(guān)閉,這個(gè)關(guān)閉默認(rèn)是失敗5次,90秒內(nèi)恢復(fù),一般默認(rèn)就可。網(wǎng)站能自動(dòng)恢復(fù),這個(gè)關(guān)閉:不是永久關(guān)閉,意思是超過資源關(guān)閉,然后在某時(shí)間內(nèi)自動(dòng)恢復(fù)池。不操作就是不恢復(fù),這個(gè)是很多人的誤區(qū)。上次我寫過相關(guān)的這個(gè)講解了。
(2):內(nèi)存限制在IIS6。0應(yīng)用池上面有虛擬內(nèi)存和最大內(nèi)存限制,如果你設(shè)置了這個(gè)。那么網(wǎng)站訪問量大了也會(huì)出現(xiàn)假死,所以不建議設(shè)置這里。默認(rèn)就可。
3:就是服務(wù)器自身內(nèi)存太小,網(wǎng)站運(yùn)行當(dāng)然需要使用到內(nèi)存了,當(dāng)內(nèi)存不夠的時(shí)候應(yīng)用池也會(huì)死掉變成禁用。那么只有等內(nèi)存全部釋放出來才能恢復(fù)應(yīng)用池了。出現(xiàn)這個(gè)情況:那么你就要考慮加內(nèi)存或者檢查到底是什么程序占用了內(nèi)存了。比如MSSQL數(shù)據(jù)庫,這個(gè)可是吃內(nèi)存得大戶啊,最好別和WEB服務(wù)器同時(shí)一個(gè)服務(wù)器上。很多人用1G內(nèi)存做 2003系統(tǒng),2003NET結(jié)構(gòu)是很占用內(nèi)存的,所以做服務(wù)器選2003還得把內(nèi)存加到2G或更高才好。 內(nèi)存不夠上面 2點(diǎn)講到的,是沒辦法操作了,也無法自動(dòng)恢復(fù)。
4:就是ACCESS數(shù)據(jù)庫太大或查詢太多,這個(gè)也會(huì)出現(xiàn)把IIS拉死,解決方法;修復(fù)ACCESS數(shù)據(jù)庫,或盡量少用ACCESS數(shù)據(jù)庫。
5:不同網(wǎng)站用不同應(yīng)用池:根據(jù)你自己實(shí)際情況而定,站點(diǎn)大的最好獨(dú)立一個(gè)應(yīng)用池,限制他的資源超過了自動(dòng)回收,看上面(1)講到的,這樣就不影響其他站點(diǎn)。中型站點(diǎn):多個(gè)網(wǎng)站共用一個(gè)應(yīng)用池,比如5個(gè)站點(diǎn)用一個(gè)池,設(shè)置他資源時(shí)間等等。這樣他們就算超資源了也不影響其他應(yīng)用池的網(wǎng)站。
6:設(shè)置回收時(shí)間:很多人以為設(shè)置回收池越短越好,其實(shí)是錯(cuò)誤的,每次回收當(dāng)然是把內(nèi)存回收回來了,但加重了一次服務(wù)器的負(fù)擔(dān),當(dāng)服務(wù)器比較繁忙的時(shí)候,有可能導(dǎo)致其他應(yīng)用池死。所以建議設(shè)置共1000就行了。其他獨(dú)立池按照他網(wǎng)站流量而設(shè)置可以設(shè)置600 也行,共用的不建議設(shè)置太短。
7:網(wǎng)站后臺(tái)過不了多久自動(dòng)退出又要重新登陸:這個(gè)情況就是你設(shè)置回收時(shí)間太短了,按照 6點(diǎn)設(shè)置吧。不要設(shè)置什么20分、30分這樣的,這樣不好的。
8:windows 2003系統(tǒng)iis6訪問本機(jī)的站點(diǎn)時(shí)提示“Service Unavailable”;
查看iis的應(yīng)用程序池,狀況提示為:未指定錯(cuò)誤,同時(shí)應(yīng)用程序池自動(dòng)停止運(yùn)行;
用事件查看器查看系統(tǒng)錯(cuò)誤日志,發(fā)現(xiàn)如下提示:
應(yīng)用程序-特定 權(quán)限設(shè)置未將 COM 服務(wù)器應(yīng)用程序(CLSID 為
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 權(quán)限授予用戶 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20)??梢允褂媒M件服務(wù)管理工具修改此安全權(quán)限。
解決方法,給NETWORK SERVICE 加上訪問iis服務(wù)的權(quán)限,具體方法如下:
點(diǎn)擊“開始”-“控制面板”-“管理工具”-“組件服務(wù)”-“計(jì)算機(jī)”-“我的電腦”-“DCOM”選項(xiàng),
選擇其下的“IIS ADMIN SERVICE”,右健選擇“屬性”,找到“安全”,在“啟動(dòng)和激活權(quán)限”中編輯“自定義”,添加帳號(hào)“NETWORK SERVICE ”,給該帳號(hào)賦予“本地啟動(dòng)”和“本地激活”的權(quán)限,重新啟動(dòng)IIS之后再訪問同一站點(diǎn),則一切正常。
9:重啟IIS中的特定應(yīng)用程序池命令和自動(dòng)重啟的方法
在操作系統(tǒng)是Windows server 2003 SP1+的情況下,可以用以下命令部分重啟IIS應(yīng)用程序池:
cscript.exe c:windowssystem32iisapp.vbs /a "DefaultAppPool"
其中/a 代表alternatively,"DefaultAppPool"代表應(yīng)用程序池的實(shí)例名。如果要設(shè)置自動(dòng)重啟這個(gè)應(yīng)用程序池,可以嘗試放在批處理中,用計(jì)劃任務(wù)調(diào)用此批處理即可。很多人覺得計(jì)劃任務(wù)不安全,都要禁掉,事實(shí)上,計(jì)劃任務(wù)的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入執(zhí)行程序,計(jì)劃任務(wù)執(zhí)行,這和計(jì)劃任務(wù)沒有直接關(guān)系。當(dāng)然,關(guān)掉,是會(huì)減少一些安全隱患,這是不錯(cuò)。

