Linux上部署net6應用


前言

​ .net6都出來了,作為一名.net搬磚工卻一直都在windows下部署應用,還未嘗試過linux環境下部署應用。參考福祿網絡研發團隊的相關博客,學習一下如何將應用部署到linux系統。

.NET5都來了,你還不知道怎么部署到linux?最全部署方案,總有一款適合你 - 福祿網絡研發團隊 - 博客園 (cnblogs.com)

一、准備

雲服務器:騰訊雲(便宜)

操作系統:CentOS 8.2

SSH 客戶端:PuTTY (免費且開源)

SFTP工具:WinSCP(免費且開源)

二、安裝Sdk

打開PuTTy,登錄雲服務器,輸入賬戶密碼

image-20220402234018438

在linux上先安裝sdk

參考 在 CentOS 上安裝 .NET - .NET | Microsoft Docs

指令:

sudo yum install -y dotnet-sdk-6.0

安裝成功后,查看是否安裝成功

dotnet --version

image-20220402234405947

三、創建和發布Web應用

創建web應用:

dotnet new webapp -o test

輸入cd test,進入應用目錄,輸入運行命令:dotnet run

image-20220403002321756

運行成功,這個時候我們用外網ip訪問時無法訪問的

用WinScp打開目錄/root/test/Properties,編輯launchSettings.json,將applicationUrl的localhost改為*

image-20220403002546341

修改好后我們再用dotnet run 運行一次,用外網ip訪問正常

image-20220403002854066

web程序沒問題后,我們用命令發布

dotnet publish

四、安裝和配置Supervisor

外網訪問無問題以后,安裝Supervisor。Supervisor是用Python開發的一套通用的進程管理程序,能將一個普通的命令行進程變為后台daemon,並監控進程狀態,異常退出時能自動重啟。

安裝Supervisor:

yum install -y supervisor

安裝成功后,分別執行以下命令

systemctl enable supervisord
systemctl start supervisord

查看狀態

systemctl status supervisord

image-20220403003352243

使用vi編輯/etc/conf.d,結果如下圖(一定要一樣

image-20220403004000907

重新加載配置文件:

supervisorctl reload

打開IP:9001,輸入用戶密碼:user/123

image-20220403004129798

supervisor安裝配置完成后,開始配置一個ini文件:

[program:test] ;表示程序名稱,用於在supervisor中顯示,無特殊意義。
command=/bin/bash -c "dotnet test.dll --urls http://*:5001" ; 輸入執行命令,這里表示執行的是dotnet test.dll
directory=/root/test/bin/Debug/net6.0/publish/ ; 應用程序根目錄 
autostart=true ; 是否自動啟動,當 supervisor 加載該配置文件的時候立即啟動它 
autorestart=true ; 是否自動重啟, 程序異常退出后自動重啟
logfile_maxbytes=50MB ; 該配置文件輸出單個日志文件的大小,默認50M
logfile_backups=10 ; 日志備份個數 
loglevel=info ; 記錄日志級別 
stdout_logfile=/root/data/logs/test/test.out.log ; 指定標准輸出日志文件 
environment=ASPNETCORE_ENVIRONMENT=Production ;環境變量。
user=root ;啟動服務的用戶  
redirect_stderr=true ;把 stderr 重定向到 stdout,默認 false

主要配置

command: 執行命令

directory:應用程序所在目錄

stdout_logfile:日志文件所在路徑,非常注意:請一定先要創建好路徑,可用命令

mkdir -p /root/data/logs/test

上列ini可直接復制使用,但須注意:';'前一定一定要有個空格,否則會報錯。(踩坑)

在本地配置好這個文件后,將其放到/etc/supervisord.d這個目錄下

image-20220403095416688

重新加載:

supervisorctl reload

image-20220403095547249

這時可以看到配置的應用已經運行起來了

五、Nginx

安裝Nginx

 yum install -y nginx

依次執行以下命令:

systemctl enable nginx
systemctl start nginx

瀏覽器訪問ip:

image-20220403095950516

配置文件位置:/etc/nginx/nginx.conf,找到location節點,輸入proxy_pass http://0.0.0.0:5001;

image-20220403101820553

重新加載配置:

nginx -s reload

直接用ip訪問成功,如果有綁定域名,也可直接用域名訪問

至此,所有配置就都完成啦~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM