多童鞋說自己是做移動開發(fā)的,想掛個簡單的Web API,可是服務(wù)器又不會搭,這樣一來測試就成了問題。看看網(wǎng)上的教程,發(fā)現(xiàn)略難懂,而且大多是一個轉(zhuǎn)一個,沒價值,所以干脆寫幾篇文章講講簡單的Web服務(wù)器怎么搭,讓不太涉及Web的童鞋快速上手。
我計劃把幾個主流的,比如Apache、IIS、Nginx等在Windows或者Linux上的搭建方法都說說,由于自己做的是.NET,所以,第一篇先上IIS吧!
一、IIS服務(wù)器的搭建
IIS全稱Internet Information Service,中文名:Internet信息服務(wù),專用于微軟操作系統(tǒng)平臺,兼容微軟的各項Web技術(shù),尤其是ASP.NET(其實也就在IIS上能跑),除此之外,IIS還支持CGI,IIS7以后的版本對Fast-CGI支持更好,所以PHP 5.3可以使用Fast-CGI和Zend來優(yōu)化在IIS上的性能,當(dāng)然早期的ASP也是可以支持的,JSP的支持相對麻煩,而且性能不好,所以基本沒人拿IIS跑JSP。
現(xiàn)在,IIS8已經(jīng)伴隨著Windows Server 2012 R2和Windows 8.1的發(fā)布而出現(xiàn)在最新的Windows版本中,所以本文就不拿IIS7以前的古董說事了,IIS7以后的版本,變化幅度很小,應(yīng)該是在優(yōu)化性能、增加穩(wěn)定性和添加新的MIME等一些雜項上的處理。
好了,現(xiàn)在讓我們開始!
基本步驟如下:
啟用功能 -> 設(shè)置網(wǎng)站路徑和端口 -> 設(shè)置權(quán)限 -> 設(shè)置雜項 -> 正式發(fā)布
1.啟用功能:
首先,我們以Windows 桌面版系統(tǒng)為例,進(jìn)入Windows的“控制面板”,如圖所示
(Windows 桌面版控制面板)
進(jìn)入“程序”,然后點(diǎn)“啟用或關(guān)閉Windows功能”,然后就能看到一下選項,找到Internet Information Services(在Windows 7為Internet信息服務(wù),下同),如圖所示
(Windows 桌面版的 Windows 功能)
在Internet Information Services之前的選項框上打勾,會發(fā)現(xiàn)有些內(nèi)容是方塊型的,意思是沒有完全啟用其中的功能,建議按照圖片上的介紹把“應(yīng)用程序開發(fā)功能”中的內(nèi)容全部勾選,要不IIS搭好以后只能掛HTML這種靜態(tài)網(wǎng)頁。勾選完成后,如還需要其他方面的功能,如ODBC日志、動態(tài)內(nèi)容壓縮、HTTP重定向等功能,也可以再次勾選,當(dāng)然現(xiàn)在不勾選以后再加也沒問題。
(關(guān)閉 Windows 防火墻)
完成后,點(diǎn)擊確定,Windows自動安裝IIS功能,安裝完成后,建議在“系統(tǒng)和安全”中,完全關(guān)閉防火墻,保證IIS的其他端口可被訪問,在IE或其他瀏覽器中,打開http://localhost,出現(xiàn)如下界面,則說明搭建成功
(IIS8 歡迎界面)
接下來,我們來看看在Windows Server 2012 R2上的IIS搭建過程
首先,打開“服務(wù)器管理器”,在右上角找到“管理”->“添加角色和功能”,如圖所示
(Windows Server 2012 R2 服務(wù)器管理器添加角色和功能)
接著,一直點(diǎn)擊“下一步”,直到“服務(wù)器角色”一項,在右側(cè)列表中找到“Web 服務(wù)器(IIS)”一項,如圖所示
(Windows Server 2012 R2 添加服務(wù)器角色)
成功添加角色后,會提示你選擇所需的功能,類似前面Windows 桌面版的介紹,選擇自己所需的功能,推薦將“應(yīng)用程序開發(fā)”中的所有選項全部勾選!如果作為真正的服務(wù)器使用,最好把功能全部配齊,省得再次配置。勾選完后,一路“下一步”等待安裝完成即可。
(Windows 7和Windows Server 2008 R2的配置類似對應(yīng)的桌面版和服務(wù)器版,可參照上面的介紹配置)
安裝完成后,查看Windows服務(wù),可以發(fā)現(xiàn)多出一項名為“World Wide Web Publishing Service”的服務(wù),這個服務(wù)用于啟動和管理IIS進(jìn)程,保證Windows開機(jī)啟動時,自動運(yùn)行,而不需要某一個用戶登錄。
(IIS的服務(wù))
2.設(shè)置網(wǎng)站路徑和端口
雖然服務(wù)器功能啟用完畢,雖然我們可以在局域網(wǎng)內(nèi)通過IP地址或者在本機(jī)用localhost進(jìn)行訪問,但我們只是瀏覽了微軟給我們的示例,我們需要讓IIS展示我們自己寫好的網(wǎng)站,此時就需要將網(wǎng)站相關(guān)的文件,如:aspx、html、dll等,這里,我們用ASP.NET中最簡單的WebForm形式單頁面演示如何部署一個真正的動態(tài)網(wǎng)站。
首先,假設(shè)我們的網(wǎng)站已經(jīng)在VS中完全開發(fā)完成,如圖所示,網(wǎng)站基本目錄文件如下:
(一個基本的WebForm網(wǎng)站)
提前說明一點(diǎn):這個網(wǎng)站就是一個基本的Web API,根據(jù)參數(shù)id(GET或POST提交),從數(shù)據(jù)庫中取出對應(yīng)ID的數(shù)據(jù),當(dāng)id為0或不能轉(zhuǎn)換為int型數(shù)據(jù)時,返回所有數(shù)據(jù),超出范圍則返回空數(shù)據(jù)。
如果直接運(yùn)行或者調(diào)試,會看到下面的畫面,其中,瀏覽器地址是localhost+一個隨機(jī)的端口號,這是VS將網(wǎng)站掛在了自帶的IIS Express上,但I(xiàn)IS Express僅允許本地調(diào)試使用,如果在局域網(wǎng)測試或者把VS的調(diào)試關(guān)閉,則會發(fā)現(xiàn)網(wǎng)站不能訪問。
(IIS Express展示結(jié)果)
于是,我們現(xiàn)在可以有兩種方式整理網(wǎng)站需要的文件,第一是自己手動去復(fù)制,第二是用VS自動打包。如果不是網(wǎng)站特別大,文件特別多,還是建議自己復(fù)制。如圖所示,打開項目的源文件夾,我們會看到許多文件,有.cs、.vscxproj、.config等,其中,我們需要的只有以下幾種類型:
第一,網(wǎng)站的視圖或頁面文件,WebForm為aspx,MVC為cshtml或aspx,WebService為asmx等等
第二,網(wǎng)站的資源文件,如js腳本、圖片、css文件等
第三,網(wǎng)站的動態(tài)鏈接庫,即整個bin文件夾,及及其中的dll文件
第四,網(wǎng)站的配置文件,Web.config
(網(wǎng)站源碼文件夾)
剩下的文件,不管以什么后綴名結(jié)尾,全部都可以不要,但是不要刪,都是你自己的心血!
把這些文件復(fù)制到你需要掛網(wǎng)站的地方,如果是服務(wù)器系統(tǒng),只要不是系統(tǒng)目錄,你可以任意放,如果是桌面版系統(tǒng),別放在桌面上、系統(tǒng)目錄就行,推薦放在以下幾種路徑:
第一,IIS默認(rèn)路徑,C:\inetpub\wwwroot\
第二,非C盤的其他路徑,如D:\xxx
第三,非網(wǎng)絡(luò)路徑的其他可讀寫、腳本可執(zhí)行路徑
接著,我們要在IIS里進(jìn)行網(wǎng)站路徑設(shè)置。打開IIS,在左邊的列表中看到“網(wǎng)站”一項,如圖所示,這里列出了所有在本機(jī)IIS服務(wù)器上掛載的站點(diǎn)
(IIS中的網(wǎng)站列表)
現(xiàn)在要考慮是將網(wǎng)站掛在本機(jī)的另一個TCP端口(Default Web Site默認(rèn)綁定80端口,可以將自己的網(wǎng)站掛在8080等端口上)上,還是將網(wǎng)站掛在80端口下的一個虛擬目錄中,這里分別介紹。
首先,如果我們將網(wǎng)站掛在8080端口上,我們需要在“網(wǎng)站”中新建一個網(wǎng)站,大致操作為:右鍵“網(wǎng)站”->“添加網(wǎng)站”->輸入信息->點(diǎn)擊“確定”即可,其中,“網(wǎng)站名稱”任意填寫,“物理路徑”選擇上面放了網(wǎng)站相關(guān)文件的目錄路徑,剩下端口改為8080或者其他未占用端口都行,點(diǎn)擊確定,訪問http://localhost:8080/或者IP地址即可看到自己的網(wǎng)站了,如圖所示
(添加一個新網(wǎng)站)
其次,我們來看一下虛擬路徑的添加方法,所謂虛擬路徑,就是類似http://www.xiyoumobile.com/admin/等訪問方法,看似訪問了網(wǎng)站中的另一個文件夾,實際上訪問了另外一個網(wǎng)站,在IIS中可以選擇“添加虛擬目錄”和“添加應(yīng)用程序”兩種方法實現(xiàn),個人推薦后者,因為不用因為新建一個虛擬目錄而考慮.dll文件的放置位置。具體操作:對著要添加虛擬目錄的網(wǎng)站右鍵->"添加應(yīng)用程序"->填寫“別名”和“路徑”->確定,在瀏覽器中輸入網(wǎng)站即可訪問到網(wǎng)站,其中,“別名”請?zhí)顚懴M辉L問的虛擬目錄名,如http://www.xiyoumobile.com/admin/中,別名就應(yīng)該填“admin”,而“路徑”則按照新建網(wǎng)站的方法填寫即可,如圖
(添加虛擬目錄)
3.設(shè)置權(quán)限
Windows NT系統(tǒng)出于安全性的考慮,設(shè)置了用戶組和權(quán)限的劃分,尤其在普通桌面版或者說家庭版的系統(tǒng)中體現(xiàn)的更為明顯,服務(wù)器上經(jīng)常對Administrator賦予了最高權(quán)限,有童鞋說,按照上面的方法,搭建完成服務(wù)器了以后,Web頁面能打開,但是會報錯,500或者401等等,基本上是因為權(quán)限,如果401就是壓根兒啥權(quán)限都沒有,500有可能是在寫本地數(shù)據(jù)庫的時候,文件禁止寫入所造成的服務(wù)器錯誤,于是乎,就請各位童鞋仔細(xì)查看網(wǎng)站目錄的權(quán)限是否給夠了。
如何檢查呢,很簡單,打開IIS,在左邊的列表中選擇一個網(wǎng)站或者虛擬目錄,然后在右邊的“操作”一欄中,選擇“編輯權(quán)限”->“安全”,如圖所示
(在IIS編輯網(wǎng)站目錄權(quán)限)
在這里可以看到,我的網(wǎng)站目錄權(quán)限中有“Everyone”、“Authenticated Users”、“SYSTEM”、“Administrators”等幾個用戶組或者用戶名,并允許“Everyone”用戶組進(jìn)行讀取和執(zhí)行、列出等操作,所以網(wǎng)站的腳本、內(nèi)容都是允許任何人進(jìn)行訪問或者說獲取的,有些童鞋的硬盤中沒有設(shè)置過權(quán)限,有可能就沒有Everyone的這個權(quán)限,所以有可能訪問出現(xiàn)如下情況
(由于權(quán)限不夠而造成訪問失敗)
遇到這種情況有就可以在剛才(網(wǎng)站目錄文件夾)的“安全”中,添加Everyone或者IIS_IUSRS訪問權(quán)限,如果需要文件上傳,可以將某個文件夾設(shè)為可讀可寫可執(zhí)行,只要在需要的權(quán)限上打上勾即可,如圖
(設(shè)置IIS_IUSRS的權(quán)限)
4.設(shè)置雜項
童鞋們該等急了,這下網(wǎng)站應(yīng)該可以算正式發(fā)布了吧,別急,還有點(diǎn)東西要說!!
第一,默認(rèn)文檔
有些童鞋說,安裝你說的方法都配置好,怎么打開還是報錯啊,就像下面的錯誤:
HTTP 錯誤 403.14 - Forbidden
Web 服務(wù)器被配置為不列出此目錄的內(nèi)容。
(網(wǎng)站未找到默認(rèn)文檔報錯)
但是你會發(fā)現(xiàn)如果打http://localhost:8080/Default.aspx又可以訪問了,這是因為:IIS默認(rèn)的默認(rèn)文檔為以下幾個:Default.htm、Default.asp、index.htm、index.html、iisstart.htm、default.aspx(在此說明一下,由于Windows系統(tǒng)在路徑上不區(qū)分大小寫,所以IIS上發(fā)布的網(wǎng)站也是不區(qū)分大小寫的),如果你的主頁文件不在上述文件之內(nèi),不輸文檔名,默認(rèn)是無法訪問到的(這里我故意刪除了Default.aspx),所以,針對這種情況,請自行設(shè)置默認(rèn)文檔,方法如下(這里假設(shè)要掛php網(wǎng)站):
(添加默認(rèn)文檔)
添加默認(rèn)文檔以后,直接敲域名或者IP及端口號即可方法默認(rèn)頁面了!
第二,數(shù)據(jù)庫連接字符串
有些童鞋因為在本機(jī)測試時,SQL Server使用的是Windows身份驗證,所以VS自動生成到Web.config中的連接字符串如下所示
[html] view plain copy
而如果直接將這個連接字符串使用在網(wǎng)站上時,會發(fā)現(xiàn)網(wǎng)頁提示:
無法打開登錄所請求的數(shù)據(jù)庫 "Example"。登錄失敗。
用戶 'IIS APPPOOL\DefaultAppPool' 登錄失敗。
(數(shù)據(jù)庫異常)
所以,一定要注意,在將網(wǎng)站掛載到真正的IIS服務(wù)器上前,請將修改Web.config中的字符串,確保數(shù)據(jù)庫使用SQL Server身份驗證,且如果數(shù)據(jù)庫裝在本機(jī),那么Data Source最好設(shè)為localhost,1433,如下面的代碼所示:
[html] view plain copy
第三,.NET Framework版本
尤其是在Windows 7版本中,默認(rèn)只支持.NET Framework 3.5,如果.NET Framework 4和IIS的安裝順序不同,還會造成.NET沒有在IIS中注冊的問題,所以建議不管先裝.NET Framework,還是先裝IIS,都在掛網(wǎng)站前,以管理員身份運(yùn)行cmd,然后進(jìn)X:Windows\Microsoft.NET\Framework\v4.0.30319(64位:X:Windows\Microsoft.NET\Framework64\v4.0.30319,X代表系統(tǒng)安裝盤,如C),然后執(zhí)行命令aspnet_regiis.exe -i,這樣可以保證.NET4被注冊到IIS,IIS才能正常運(yùn)行.NET4版本以上的程序。
再者,如果應(yīng)用開發(fā)時選擇了.NET4,而網(wǎng)站應(yīng)用程序選擇的是.NET2,也是不行的。
這兩者都屬于運(yùn)行框架異常,必須配置正確,否則就會報錯!
(選擇正確的應(yīng)用程序池)
第四,禁用調(diào)試信息
調(diào)試信息一般在本地開發(fā)時有用,正式發(fā)布后如果讓訪問者看到,也會暴露一些網(wǎng)站信息,同時顯得開發(fā)者很業(yè)余,所以請在正式部署后,關(guān)閉調(diào)試信息,具體操作如下:
修改Web.config,將下面的內(nèi)容修改
[html] view plain copy
修改后
[html] view plain copy
這樣就關(guān)閉了遠(yuǎn)程訪問時的調(diào)試信息
第五,添加MIME類型
如果需要讓網(wǎng)站提供一些新文件訪問的服務(wù),必須在IIS中添加一些文件的后綴名和MIME類型,尤其是IIS7,默認(rèn)沒有.mp4格式文件的支持,如果不添加MIME類型,HTML5就不容易實現(xiàn),還有其他的文件,如apk、ipa等安裝包,由于不常用,在IIS上也需要手動添加進(jìn)來,如果不添加,就會報“404 Not Found”的錯誤,添加方法如下:
(添加MIME類型)
第六,其他設(shè)置
其他的設(shè)置包括訪問控制、IP地址過濾、反向代理、SSL、日志、CGI等等,這個根據(jù)個人需要來配置,而且都不是很困難,除非你要在IIS上跑Java。關(guān)于IIS的反向代理,童鞋們可以戳我的另一篇博文:《IIS上的方向代理》,以后我會繼續(xù)寫面向新手的Web服務(wù)器搭建教程,涵蓋Nginx、Apache和IIS上的PHP等等,感謝大家的關(guān)注!無限編程網(wǎng)http://cnc.fjwqss.cn!
【文章圖片來源網(wǎng)絡(luò)僅提供技術(shù)學(xué)習(xí)如有侵權(quán)請聯(lián)系刪除】
當(dāng)你在使用服務(wù)器時是否有遇到這樣一個問題?當(dāng)你正在服務(wù)器里進(jìn)行工作時,突然一個小伙伴在沒有告知你的情況下進(jìn)入了服務(wù)器里,導(dǎo)致你服務(wù)器失去連接了,這種情況是非常常見的現(xiàn)象。
主要原因就是因為服務(wù)器沒有安裝多界面,服務(wù)器多開界面是占用的同一臺服務(wù)器的資源,服務(wù)器多開數(shù)量沒有限制,不同IP,不同用戶登錄只要不選擇到一個界面就不會有踢下線的情況,為互聯(lián)網(wǎng)工作者提供了很大的便利
IIS是什么應(yīng)該都知道,IIS就是咱們用于搭建網(wǎng)站的一個軟件,有些服務(wù)商在做系統(tǒng)的時候可能沒有把多界面和iis先安裝好,導(dǎo)致有些功能我們是用不了的,今天小馳給你們分享一下Windows 2008 服務(wù)器多界面設(shè)置方法和iis安裝步驟,希望可以幫助到你~
1、打開開始-管理工具-打開【服務(wù)器管理器】,或是桌面的計算機(jī)右鍵管理,進(jìn)入服務(wù)器管理器
2、點(diǎn)擊【添加角色】
3、下一步,勾選【遠(yuǎn)程桌面服務(wù)】 WEB服務(wù)器 IIS
4、勾選 遠(yuǎn)程桌面會話主機(jī) 和遠(yuǎn)程桌面授權(quán)
5、下一步,選擇不需要使用網(wǎng)絡(luò)級別身份驗證
6、授權(quán)模式選擇以后配置
7、然后一直點(diǎn)下一步,到最后,直接點(diǎn)安裝
8、安裝好之后需要重啟電腦生效
9、選擇 是,然后機(jī)器進(jìn)入重啟階段,重啟后進(jìn)入桌面,等待繼續(xù)執(zhí)行配置完成,完成后打開開始-管理工具,點(diǎn)擊遠(yuǎn)程桌面會話主機(jī)配置
10、雙擊 編輯設(shè)置欄
11、將 限制每個用戶只能進(jìn)行一個會話 取消勾選并應(yīng)用確定
至此 服務(wù)器多開界面和iis就已經(jīng)安裝好了,可以多用戶登錄,若是多界面沒有激活只有120天有效時間,可以提前聯(lián)系售后激活多界面