


IIS Express安裝及設(shè)置
最近在做一些Web方面調(diào)研的時(shí)候我基本上都不用 IIS了,IIS Express 實(shí)在是很方便,由于目前還是 BETA版本,有些功能界面上還看不見,網(wǎng)上資料也很少,所以我把我之前的一點(diǎn)經(jīng)驗(yàn)寫出來(lái)。
最近在做一些Web方面調(diào)研的時(shí)候我基本上都不用 IIS了,IIS Express 實(shí)在是很方便,由于目前還是 BETA版本,有些功能界面上還看不見,網(wǎng)上資料也很少,所以我把我之前的一點(diǎn)經(jīng)驗(yàn)寫出來(lái)。
關(guān)注 IIS Express 的最初原因是希望將我們的一個(gè)產(chǎn)品部署到 Windows XP Professional上,要知道 2003 Server的價(jià)格和 Pro差距還是很大的,對(duì)于大批量部署的產(chǎn)品來(lái)說(shuō),這對(duì)產(chǎn)品利潤(rùn)影響相當(dāng)大。由于我們?cè)陂_發(fā)時(shí)使用了 MVC,這個(gè)在 XP Pro自帶的 IIS5.1上部署,一方面程序要做相應(yīng)的處理,還需要部署 URL Rewriter之類的東西,相當(dāng)麻煩,解決了服務(wù)器費(fèi)用,只怕又會(huì)帶來(lái)開發(fā)人員出差的費(fèi)用。
有了 IIS Express,問(wèn)題基本可全部解決,主要關(guān)注的是下面的幾個(gè)問(wèn)題:
1. 允許遠(yuǎn)程訪問(wèn)
2. 要可以支持創(chuàng)建虛擬目錄
3. 可以支持運(yùn)行多個(gè) Web Application
4. 我們的產(chǎn)品是在學(xué)校的局域網(wǎng)部署,性能上應(yīng)滿足至少幾十人并發(fā)要求
1. 安裝部署
下載地址:http://www.microsoft.com/web/webmatrix/ , IIS Express 是隨 Web Matrix 一起發(fā)布的,安裝Microsoft Web Platform Installer 后,就可以選擇安裝 IIS Express(英文版中有 IIS Express可以選擇,中文版中直接選 Web Matrix)。
介紹可參考Scott博客:http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx
IIS Express overview:http://learn.iis.net/page.aspx/868/iis-developer-express-overview/
從開始菜單運(yùn)行 Web Matrix 后默認(rèn)會(huì)自動(dòng)啟動(dòng)一個(gè)Web 站點(diǎn),管理界面比較簡(jiǎn)單,可以直接將某個(gè)目錄創(chuàng)建為Web站點(diǎn)。
實(shí)際我在使用的時(shí)候,基本都是以命令行方式運(yùn)行的,一般我只用到下面幾個(gè)參數(shù):
iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]
配置文件可直接基于默認(rèn)的配置文件修改, 默認(rèn)使用的配置文件是在 [我的文檔]\IISExpress8\config\applicationhost.config
我現(xiàn)在的用法是直接將 Web Matrix所在目錄打包放到光盤上,配置文件隨應(yīng)用程序發(fā)布,然后分別創(chuàng)建兩個(gè)批處理文件,用以啟動(dòng)和停止IIS Express服務(wù),非常方便,批處理內(nèi)容大概就像這樣:
啟動(dòng):start F:\Projects\MicrosoftWebMatrix\iisexpress /config:F:\Projects\XXX\applicationhost.config /systray:true /site:MTLOralDemo
停止:TASKKILL /F /IM iisexpress.exe /T
其他機(jī)器根本不需要再安裝Web Matrix,,只要裝了.Net Framework直接運(yùn)行就可以了。
2. 遠(yuǎn)程訪問(wèn)設(shè)置
找到配置文件中 sites\site\bindings 默認(rèn)是綁定到 localhost 80端口,如果需要其他機(jī)器可以訪問(wèn),綁定到指定IP地址就可以了。
<binding protocol="http" bindingInformation="*:8080:192.168.79.166" />
3. 虛擬目錄設(shè)置
類似于下面這樣:
<site name="AppService" id="1280170558">
<application path="/" applicationPool="Clr2IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\IISExpress\DemoApp\empty" />
</application>
<application path="/AppService" applicationPool="Clr2IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\IISExpress\DemoApp\AppService" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8088:192.168.79.166" />
</bindings>
</site>
我嘗試過(guò)多個(gè)virtualDirectory節(jié)點(diǎn),但發(fā)現(xiàn)Web Application不能正常工作,而且多個(gè)虛擬目錄也不是使用獨(dú)立的 Web.config,后來(lái)通過(guò)配置application 解決。
如果站點(diǎn)有Spring之類的東西,運(yùn)行時(shí)會(huì)出現(xiàn)錯(cuò)誤,請(qǐng)將 applicationPool 配置成 Clr2ClassicAppPool。
4. 配置多個(gè)站點(diǎn)
多個(gè)站點(diǎn)只要配置多個(gè) site 節(jié)點(diǎn)就可以了,具體配置都差不多,但多個(gè)站點(diǎn)需要使用不同的端口。
如果需要同時(shí)運(yùn)行多個(gè)站點(diǎn),在批處理中再增加幾條修改相應(yīng)的參數(shù)就行了,相當(dāng)于同時(shí)運(yùn)行多個(gè) iis express 實(shí)例。
5. 性能測(cè)試結(jié)果
分別做了以下測(cè)試,測(cè)試結(jié)果性能滿足要求:
1. 寫了個(gè)簡(jiǎn)單測(cè)試頁(yè)面,使用Load Runner 進(jìn)行200路并發(fā)壓力測(cè)試,進(jìn)行了2小時(shí)。
2. 正式產(chǎn)品部署,我們的產(chǎn)品總共運(yùn)行了9個(gè) iis express進(jìn)程,分別偵聽在8080~8089端口,我們整個(gè)部門幾十個(gè)人同時(shí)模擬用戶訪問(wèn)站點(diǎn)并實(shí)際使用。
關(guān)鍵詞:IIS Express 安裝 設(shè)置
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解