把Asp.net Core程序代碼部署到Ubuntu(不含數據庫)

今天記錄一下第一次把.net core 程序發佈到linux系統。linux用的是ubuntu Server 18.04版本。運行的IDE是vs 2019,發佈出來是.net core 2.2版本。
 
 
一、在vs2019中把.net core 源碼發佈出來,配置以下
 
二、發佈生成的文件,後面須要把它拷貝到linux。
 
三、比較窮,沒有linux服務器,因此在虛擬機上操做。模擬真實環境,因此啓用的是無圖形界面的Ubuntu Server。在虛擬機上的安裝過程網上比較多,就很少說。
 
 
四、在微軟上註冊密鑰,而且下載安裝依賴項。運行下面兩個命令:
sudo dpkg -i packages-microsoft-prod.deb
五、安裝.net SDK
sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2 (此處要去對應你發佈的.net core 版本)
安裝完成:
六、安裝Ngnix反向代理(功能有點像IIS的意思)
sudo apt-get install nginx
七、安裝完成後,查看是否安裝成功,顯示版本則說明成功。
八、進入Ngnix目錄,建立一個簡單的配置文件。
cd /etc/nginx/conf.d/
sudo vi testweb.conf (新建一個叫testweb的配置文件)
九、貼入或敲入如下配置信息(設置監聽80端口,服務器爲咱們上面說過的本機IP)
server {
listen 80;
server_name 172.1.1.205;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
十、粘貼完成後,按"Esc"鍵 而後輸入 「:wq」回車,表示保存並退出
 
十一、在當前文件夾下,加載配置文件,並重啓Nginx。
sudo nginx -t
sudo nginx -s reload
 
十二、查看80端口是否被啓用
netstat -nultp
 
1三、找一臺在相同網段的電腦,瀏覽器訪問上面配置的IP:http://172.1.1.205/若是出現以下畫面則表示反向代理運行成功。
 
1四、安裝FTP,方便上傳須要發佈的程序代碼
sudo apt-get install vsftpd
sudo vsftpd -v (查看版本 看看是否安裝成功)
service vsftpd start (啓動服務)
service vsftpd status (查看是否真的啓動,active running)
 
1五、建立FTP用戶
sudo useradd -m codeftp
sudo passwd codeftp
 
1六、配置FTP的參數
sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.old (重命名原始FTP配置文件,做爲備份保留)
sudo vim /etc/vsftpd.conf (建立一個新的FTP配置文件,輸入下面內容,保存是Esc+:wq)
 
###########
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
###########
 
1七、重啓FTP服務
service vsftpd restart
 
1八、把一開始發佈的.net code 程序用第三方FTP軟件上傳到ubuntu系統,我用的是FlashFxp這個FTP軟件。目前上傳的路徑是/home/codeftp/。
 
 
1九、繞了一圈,回到最開始,還記得咱們從瀏覽器訪問http://172.1.1.205/時,顯示「Welcome to nginx!」嗎,這是由於咱們尚未給映射待訪問的服務器程序。因此如今返回去修改Nginx配置文件。
sudo vim /etc/nginx/conf.d/testweb.conf
 
20、再出現的Attension界面中,按「E」,進入編輯。加入咱們web程序的發佈連接,以及端口號,端口號是在咱們vs2019屬性中配置的。
 
...
proxy_pass http://127.0.0.1:8787;
...
 
 
2一、完成上面修改後退出(「Esc」+:wq),而後從新加載nginx配置文件。
sudo nginx -t
sudo nginx -s reload
 
2二、此時咱們再去瀏覽器訪問站點,發現報錯「502 Bad Gateway」,不要慌,這是由於咱們的web程序尚未運行,如今去啓動程序。
cd /home/codeftp/testweb/
dotnet NoDbCoreWeb.dll (啓動web程序,NoDbCoreWeb是項目名稱)
 
這裏備註一下,默認的端口號是5000,被我本身改成了8787,修改這個端口我是在程序中硬編碼。若是想繼續使用5000端口,只要把剛剛 /etc/nginx/conf.d/testweb.conf文件中的端口改成5000便可。
 
2三、在瀏覽器訪問:http://172.1.1.205/ 咱們的界面完美的出現了。
 
2四、這一次咱們的部署就暫告一段,後面有機會再看看如何部署帶mySql數據庫的項目,tks。
相關文章
相關標籤/搜索