標籤:style c class blog http a
原文:圖文詳解遠程部署ASP.NET MVC 5項目
話外篇:
由於感覺自己的機器比較慢,配置不好,所以最近想把之前的項目部署到實驗室的伺服器上,但是由於常不在實驗室,所以在想能不能遠程部署。因此今天專門研究了一下具體的過程,下面和大家分享一下。本人新手,還望大蝦勿噴,有什麼問題,還望高手指點。
一、本文實驗環境:
Windows Server 2012 R2
SQL Server 2012 Express
Visual Studio 2013
項目為:ASP.NET MVC 5.0,使用的是LocalDB資料庫
二、使用Web Deploy遠程部署的條件
Web Deploy可以用於本地和遠程部署Web項目,使用Web Deploy部署時有如下要求:
1.需要安裝Web Deploy ,下面地址:http://www.iis.net/downloads/microsoft/web-deploy
2.安裝Web Deploy之後,還需要啟用IIS 的——管理服務,開啟Windows Server的伺服器管理員,點擊添加角色和功能:
之後點擊下一步:
在這裡需要勾選“管理服務”,這一步非常重要。
之後下一步,等待完成配置即可。完成之後再服務列表中會多出Web Management Service服務,並確保該服務啟動。
注意,如果該服務沒有啟動,或者沒有啟用“管理服務”功能,則在使用Web Deploy部署項目時會遇到如下錯誤:“未能串連到遠端電腦,請確保在遠端電腦上安裝了 Web Deploy 並啟動了所需的進程("Web Management Service")”:
3.配置好管理服務之後,接下來需要進入IIS中通過管理服務來進行相應的設定:
在我們啟用管理服務後,進入IIS,會多出管理服務選項:
雙擊管理服務,對IIS進行配置,這裡我保持了預設的設定,您可以根據自己的情況進行設定:
4.配置遠部署Web項目的賬戶
基於安全考慮,我們最好提供單獨的賬戶來部署Web項目,同時對於IIS中網站,可以指定哪些使用者才具有部署應用程式到此網站的許可權。
首先點擊"IIS 管理器使用者":
然後點擊"添加使用者":
然後配置賬戶名和密碼:
配置完成之後,接下來需要佈建網站的使用者權限。
5.配置網站使用者權限
首先點擊您程式將要發布到的網站,例如本文為Default Web Site.之後在管理選項中點擊"IIS 管理器許可權":
之後點擊“允許使用者”:
將之前我們添加的iepi使用者添加到選擇的網站許可權中:
最後點擊確定,配置結束。
三、使用Visual Studio 2013遠程部署項目
在發布項目之前,我們需要對將要發布的網站(例如這裡的 Default Web Site)根目錄進行一些許可權配置。也就是"Local Service "賬戶需要有修改網站目錄的許可權。這裡我們的“Default Web Site”的目錄對於著:
C:\inetpub\wwwroot,因此我們右鍵wwwroot檔案件,選擇屬性——安全——編輯,添加Local Service賬戶,並勾選”修改“許可權“
如果沒有進行以上的許可權配置則會在發布的時候提示無法在網站的物理目錄下建立檔案,沒有建立許可權。
在配置好網站的物理目錄許可權之後我們開始發布web項目:
右鍵項目選擇"發布":
然後建立一個設定檔,當然也可以選擇之前的,建議建立一個。
之後點擊下一步,節奏配置 Web Deploy:
說明:伺服器:輸入IP地址即可
網站名稱:格式為”網站名稱“/"應用程式名稱"
使用者密碼即為上面我們配置的使用者密碼。
目標URL:一般格式:http://ip:連接埠號碼/y應用程式名稱,在我們發布完成之後,瀏覽器會自動的開啟這個url。
之後點擊驗證,出現表示資訊無誤,可以進行發布了。接下來點擊下一步,直到發布完成,這裡由於我們使用的是LocalDB,因此我們不用進行資料庫配置。
四、配置LocalDb資料庫
LocalDB的是一個SQL Server Express輕量級版本的資料庫引擎。 它在使用者模式下啟動、執行。LocalDB的運行在一個特殊的SQL Server Express的執行模式,所以允許您使用MDF檔案資料庫。通常情況下,LocalDB的資料庫檔案都儲存在web項目的App_Data檔案夾下面。
注意:在生產環境的Web應用程式中,我們不推薦您使用SQL Server Express。 尤其, LocalDB不應該被用於Web應用程式的生產環境,因為它設計之初不要求使用IIS。 然而,LocalDB的資料庫能夠很容易地遷移??到SQL Server或SQL Azure中——摘自《ASP.NET MVC 5 - 建立連接字串(Connection String)並使用SQL Server LocalDB》.
瞭解LocalDB之後,我們如何讓我們的ASP.NET MVC項目能訪問呢?首先,我們需要設定我們的項目,將資料庫檔案包含到項目中:
然後重新發布。
之後在網站實體路徑對於的應用程式目錄下會有對於的App_Data檔案夾,其中包含了我們的資料庫檔案。
之後開啟 SQL Management Studio.並使用(LocalDb)\v11.0,Windows 身分識別驗證登陸,然後附加我們項目的資料庫。
接著在IIS中修改項目對應應用程式集區的標識為"Local System"。原因參考這裡.
在完成以上所有步驟之後,我們的所有工作便已經完成了,在瀏覽器中輸入地址就可以訪問我們的Web了。附圖兩張: