做了多年的Web開發工作,網站部署也不在話下,可每次部署卻并不是十分順利,將本次在阿里云服務器上部署asp.net mvc網站遇到的問題記錄如下。
平臺是阿里云ECS,操作系統是?Windows Server 2012 r2,全新的環境,完全從頭開始。
一. windows server 啟用IIS功能
windows環境下web服務器部署,首先要啟動IIS功能,這個大家也都知道:
服務器管理區-》添加角色和功能-》選擇“Web Server(iis)”,接下來選擇IIS具體的功能項,安全性,常見http功能,控制臺功能,該選的都選上,最重要的一點,因為我們要部署的是asp.net mvc 網站,所以,應用程序開發下面的 ASP.NET 一定要記得選上。
至此,我們的所有操作都是正確的,但是安裝時卻報錯了。
錯誤信息為:服務器管理器WinRM插件可能已損壞或丟失
?
原本正確的操作,卻爆出了這樣的錯誤,真是讓人無語。
阿里云給出了此問題的解決方法:https://help.aliyun.com/knowledge_detail/40957.html?spm=5176.7842540.2.4.SaEVdR
分三個步驟:
1、在“服務”中查看下WinRM服務是否開啟,如果沒有運行服務,將服務開啟運行。
2、打開命令提示符,輸入netsh http add iplisten 127.0.0.1,還有netsh http show iplist,如圖。(這步是個坑,以后會遇到)
(可嘗試步驟:設置虛擬內存。服務器默認沒有設置虛擬內存,有人建議設置一定量的虛擬內存解決上面的問題。)
3、再次測試安裝iis服務,安裝成功。
經過上面的操作,IIS基本上安裝成功了(如果還是那個錯誤,建議重啟),然后重啟電腦。
二.部署asp.net mvc 網站
網站具體部署過程不再贅述,實在不懂的,自行百度,現在說一下部署完成后可能遇到的幾個問題。
1.HTTP?錯誤?500.19 - Internal Server Error
無法訪問請求的頁面,因為該頁的相關配置數據無效。
詳細信息:不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是默認設置的?(overrideModeDefault="Deny")?,或者是通過包含?overrideMode="Deny"?或舊有的?allowOverride="false"?的位置標記明確設置的。
?
問題解析:從錯誤描述可以看出,問題出在配置文件上,但又不能從web.config文件中刪除此配置項
解決方案:
出現這個錯誤是因為從?IIS 7?開始?采用了更安全的?web.config?管理機制,默認情況下會鎖住配置項不允許更改。
要取消鎖定可以運行命令行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
其中的?handlers?是錯誤信息中紅字顯示的節點名稱。?
如果?modules?也被鎖定,則運行命令行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
?
?
2.IIS無權限訪問目錄
在IIS訪問靜態文件,虛擬目錄時可能會出現無權限的錯誤,此時,應當修改文件夾屬性-安全,添加IIS_User(具體角色依IIS運行角色而定)的讀取,運行權限。
3.如果程序開發使用的.net framework 高于服務器.net framework 版本(4.5),需要按裝更高版本.net framework.
三.外網無法訪問
網站部署完畢,在本機正常訪問,但是其他電腦無法訪問(包括內網或外網)。
還記得我們在解決IIS安裝問題時,運行的那個命令行嗎?
netsh http add iplisten 127.0.0.1
?仔細看一下這行命令的含義,原來是讓服務器只偵聽 本機(127.0.0.1)的web請求,難怪其他電腦不能訪問。
解決方案:運行命令行 netsh http delete iplisten 127.0.0.1 解除對IP請求的限制
?至此,asp.net mvc 網站部署基本完成。需要注意的是,在某一個解決方法試用之后,如果問題沒有得到任何解決,可嘗試重啟服務器。
備注:如果網站綁定的非80端口,則防火墻會攔截該網站請求,可以在防火墻入站規則中,添加對應端口的請求。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
http://www.cnblogs.com/flame7/p/6436166.html
?