作了多年的Web開發工做,網站部署也不在話下,可每次部署卻並非十分順利,將本次在阿里雲服務器上部署asp.net mvc網站遇到的問題記錄以下。html
平臺是阿里雲ECS,操做系統是 Windows Server 2012 r2,全新的環境,徹底從頭開始。web
一. windows server 啓用IIS功能windows
windows環境下web服務器部署,首先要啓動IIS功能,這個你們也都知道:安全
服務器管理區-》添加角色和功能-》選擇「Web Server(iis)」,接下來選擇IIS具體的功能項,安全性,常見http功能,控制檯功能,該選的都選上,最重要的一點,由於咱們要部署的是asp.net mvc 網站,因此,應用程序開發下面的 ASP.NET 必定要記得選上。服務器
至此,咱們的全部操做都是正確的,可是安裝時卻報錯了。mvc
錯誤信息爲:服務器管理器WinRM插件可能已損壞或丟失app
本來正確的操做,卻爆出了這樣的錯誤,真是讓人無語。asp.net
阿里雲給出了此問題的解決方法:https://help.aliyun.com/knowledge_detail/40957.html?spm=5176.7842540.2.4.SaEVdRide
分三個步驟:測試
一、在「服務」中查看下WinRM服務是否開啓,若是沒有運行服務,將服務開啓運行。
二、打開命令提示符,輸入netsh http add iplisten 127.0.0.1,還有netsh http show iplist,如圖。(這步是個坑,之後會遇到)
(可嘗試步驟:設置虛擬內存。服務器默認沒有設置虛擬內存,有人建議設置必定量的虛擬內存解決上面的問題。)
三、再次測試安裝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