我們知道.NetCore能夠實現跨平台的根本就是內置Kestrel服務器實現請求處理和不同操作系統上反向代理的實現。在windows操作系統上IIS反向代理配置非常簡單。但是Linux上就較為麻煩了。今天常老師在這里就給朋友們詳細聊一下在Linux上面實現.NetCore程序部署的完整過程,對於做.NetCore開發的朋友一定有幫助。下面我們先簡單看一下在Linux上面實現反向代理的結構圖。
通過上圖,我們基本知道部署完成Linux平台的程序部署需要做好程序的上傳、Nginx安裝、啟動等系列過程。下面我就指導大家來實現一下。
一、.NetCore項目的發布
右鍵點擊項目,選擇“發布”—IIS、FTP、Web部署。
,點擊創建配置文件。
繼續選擇“文件系統”,目標位置選擇一個提前創建好的空文件夾myweb用來保存發布的項目文件。然后繼續“下一步”。
按照上面的選項選擇后,保存即可。然后選擇“發布”,即可完成。
這時候我們打開D盤的myweb文件夾可以看到發布的文件如下:
二、啟動虛擬機,找到IP地址
記住當前Linux操作系統所在的電腦IP地址是192.168.73.129,一會兒我們要用到。
三、上傳已經發布的項目文件
打開FTP工具FileZilla,從windows上把發布的項目文件上傳到Linux上。在軟件中輸入我們剛才的IP地址,用戶名和密碼,端口號,即可連接。
四、打開FinalShell連接虛擬機
在學習Linux的時候,這個軟件大家應該不陌生了。用它來連接虛擬機的終端,我們操作各種命令會非常方便,如果您對這個不熟悉,歡迎通過微信公眾號和我們聯系。雙擊這個連接后,即可連接成功。
打開成功后,輸入下面的命令,我們創建data和mywebappFiles文件夾,用來接收上傳的項目文件。
在FileZilla中找到我們剛才創建的項目文件目錄,直接拖放到右邊linux系統對應的目錄即可。右邊綠色部分就是我們已經上傳到Linux上面的項目文件。
五、下載安裝Nginx
Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx 可以在大多數 UnixLinux OS 上編譯運行,並有 Windows 移植版。
Nginx 啟動特別容易,並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。還能夠不間斷服務的情況下進行軟件版本的升級。
1、 下載安裝包。地址:http://nginx.org/en/download.html
下載后就是這樣一個壓縮文件
2、把文件復制到usr/myapp目錄中(從左邊找到下載的文件直接拖放即可)myapp文件夾,請自己創建一下,同時創建一個nginx目錄。
2、 解壓安裝包,輸入命令:tar -xzvf nginx-1.16.1.tar.gz 成功后如下:
查看目錄
3、 修改解壓后的文件夾名字,輸入命令:mv nginx-1.16.1 nginx-dev
4、 進入nginx-dev目錄,安裝nginx的各種依賴庫。
輸入命令:yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
如果已經安裝過,會顯示上面的結果,如果沒有安裝過,會稍等一下即可完成安裝。
5、 配置nginx的安裝路徑。
輸入命令:./configure --prefix=/usr/myapp/nginx
稍等即可完成:
6、編譯並安裝nginx。輸入命令:make && make install
成功后,效果如下:
7、 退出當前目錄,進入到nginx安裝目錄找到conf目錄
8、 修改配置文件nginx.conf,輸入命令:vim nginx.conf
在上面兩個位置,增加如下代理信息配置內容:
然后保存退出。(按esc鍵,取消插入狀態,並輸入:wq保存退出)
9、 啟動nginx,重新進入nginx目錄。
10、重新進入到項目文件目錄,啟動項目。
11、在瀏覽器中輸入IP地址,即可看到網站頁面效果:
到此為止,我們的.NetCore項目就在Linux上面部署完成了。小伙伴們抓緊測試一下吧。
如有任何問題歡迎加微信:thinger_net咨詢。可掃碼關注↓