不管你是使用.net core開發的是web api還是網站類的程序,如果你是部署到IIS,那么下面的內容都適合於你,不會將.net core程序部署到IIS的朋友,可以看看這篇手把手教你部署.net core程序的教程。
將.net core程序部署到IIS總體需要經過以下3個大步驟,其中在IIS上配置網站有些比較繁瑣,我都會逐一給出詳細步驟。
安裝IIS和.net core運行時程序
部署.net core程序首先要確保你服務器上的IIS環境要安裝好,不知道怎樣在服務器上安裝IIS,請先自行搜索一下;確保IIS安裝好了后,還需要安裝.net core的運行時,運行時的程序文件可以在官網下載最新版本安裝,點擊這里直達官網下載運行時。
安裝好了后,如果你在IIS上模塊里面看到AspNetCoreModule,表示安裝成功。
進入IIS后,先點左側你的服務器上IIS名稱,然后會出現上圖右邊所示的模塊,點擊進就會在下圖右側出現IIS上眾多的模塊,當你安裝了運行時后,就會出現 AspNetCoreModule 這個東東,表示安裝成功,已經具備在IIS上運行.net core程序的環境了。
基本環境配置好了后,下面該發布.net core 程序了。
以文件的形式發布.net core程序到指定目錄
將.net core程序部署到IIS上,可以做到一鍵部署,即使在遠程服務器上也是可以做到一鍵部署,這方面的文章我在去年寫了這篇通過VS2017發布.net core程序並使用Web 部署到遠程服務器最新教程的文章,感興趣的朋友可以看看。
VS2019發布.net core程序提供了5種方式,本文為了演示目的就以文件的形式發布.net core程序到指定目錄的方式來說明發布過程。打開你的.net core程序解決方案,在.net core程序上右鍵,點發布,如下圖所示:
點擊發布(Publish)后 會出現下面的選擇設置框,然后根據你的需要設置好保存目錄即可,這里選擇Folder
發布成功后會有如下提示:
發布成功后,找到這個目錄,將其打包上傳到服務器上,本文這兒純演示,就直接在本機操作,就略過了復制文件到安裝了IIS的服務器上的步驟。
IIS上面建立網並配置好網站設置
這步操作一般是在遠程服務器上操作,本文演示,就直接在本地環境搞了。
IIS上建立網站
在IIS上建立網站,需要提前將發布文件復制到服務器的隨意目錄,不一定要放在C盤的wwwroot目錄,你可以放在任意位置。在服務器上打開IIS,為了方便,你可以在服務器上建立一個IIS的快捷方式,不會建請自行google。
(1)在IIS左側管理界面,看到網站,直接右鍵,添加網站
右鍵添加網站后,會出現下面的添加網站界面,設置好網站名稱,我一般習慣性的命名為域名的名稱,如你申請的域名是 www.ccav.com,則設置名稱為www.ccav.com。物理路徑就是上傳到服務器上的發布文件保存的目錄,本機演示上文指定的是C盤,ccav.com目錄,指向它即可。主機名可以設置為域名,IP地址,設置為域名前提需要你的域名解析了才行,不然訪問不了;還有一種方式就是修改host文件的方式,下文會講到。主機名可以在添加網站后修改,意思就是可以修改綁定的域名。
(2)修改應用程序池為無托管代碼
在上面步驟添加網站完畢后,會自動創建和網站名稱相同的應用程序池,通俗來說應用程序池就是服務器分配給網站的一個資源集合,管理着網站的內存,進程等內容,如你的網站使用了緩存,緩存分配的內存也是受應用程序池管理的,應用程序池一回收,緩存就全部失效。所以一般的做法都是使用分布式緩存,如memcahe或才redis。所以在asp.net 時代,網站慢了時,重啟大法很好用也是這個道理。
如果你的程序要和數據庫打交道,數據庫和網站沒有分開時,則還要修改應用程序標識,在應用程序池上右鍵–>高級設置,彈出的窗口上面修改即可。
在打開的高級設置窗口里面,有很多設置項,不懂的別亂整,感興趣的,可以自行研究。但對於.net core程序來說,連了數據庫最有可能修改的就是高級設置里面的標識項,標識設置就是給應用程序相應訪問數據庫、執行文件讀寫的權限等。
(3)修改host文件設置(非必須操作)
因為在上面的操作中,我將主機名設置為了www.ccav.com,在完成了本節點第2個步驟后,你就去打開網站瀏覽肯定是打不開的,除非在上面的操作中,你指定的主機名是IP地址,然后在瀏覽器中,通過輸入IP地址的方式來打開,這樣是可以正常訪問到你的網站的,如果指定的是IP地址,當前操作就可以省略掉。
在指定主機名是,使用一個域名的方式,更接近於真實環境的訪問,可以發現很多你使用IP地址不能發現的問題。
修改host文件操作過程如下:
你可以通過運行命令直接打開host文件:
host文件所在目錄是: c:\Windows\System32\drivers\etc\hosts ,然后使用記事本打開修改即可,修改后的host文件如下:
重要提示:修改后如果不能保存,說明你沒有管理員權限,請先給你windows賬號設置為管理員權限,如下圖所示:
(4)打開網站瀏覽一下
經過上面的一系列設置,就已經完成了將 .net core程序部署到IIS的所有步驟,你可以在瀏覽覽器里面輸入IP地址或者域名(主機名指定為域名)的形式,能正常打開則表明部署成功。
后記
如果部署時,指定的是域名,但那個域名不是你的或者你們公司的,或者也沒有解析,我們可以通過修改host的方式來實現使用域名來訪問;在局域網內,或者測試環境下,其他人要訪問你的網站,也只需要修改一下host文件即可,添加一條記錄,將IP地址指向服務器地址,然后就可以通過輸入域名的方式來打開所部署的網站了。