.Net Core3.1 Centos離線部署


由於生產環境無法鏈接外網,只能通過離線部署的方式安裝.Net Core Runtime

1、ASP.Net Core Runtime 安裝

1.1我們使用微軟提供的離線安裝包進行安裝。首先下載tar.gz的離線包,下載網址:https://dotnet.microsoft.com/download/dotnet-core/3.1

這里選擇Linux對應的架構的離線包下載

1.2 在Linux中創建目錄

mkdir -p /var/lib/dotnet

1.3 把壓縮包上傳Linux,解壓到/var/lib/dotnet目錄

tar zxf aspnetcore-runtime-3.1.1-linux-x64.tar.gz -C /var/lib/dotnet

1.4 創建軟鏈接方式來設置環境變量

ln -s /var/lib/dotnet/dotnet /usr/local/bin

1.5 測試runtime環境是否安裝成功

dotnet --info

2、Asp.Net Core站點服務部署

2.1 在服務器上創建應用的目錄

mkdir /home/www

2.2 通過FTP等工具將VS打包好的部署包上傳到該目錄

2.3 測試站點是否正常運行

cd /home/wwww
dotnet AspNetCoreDeployDemo.dll

如下圖所示

2.4 網頁測試或者命令行測試能否打開該地址,如果打不開,請檢查firewall端口是否開放

wget http://localhost:5000

這時候,窗口不能關閉,如果關閉就訪問不到,下面要使用suppervisor或者systemd等工具進行后台守護進程。

3、Supervisor守護進程

3.1 上傳離線包安裝,並啟動suppervisor

cd /app/supervisor
./run_supervisor.sh

3.2 查看supperisor運行狀態 

3.3 查看配置文件,並把后台界面端口關閉,可以看到會加載supervisord/下面的ini配置文件

3.4 創建AspNetCoreDeployDemo.ini文件

#項目名
[program:demo]
#腳本目錄
directory=/home/wwww
#腳本執行命令
command=dotnet AspNetCoreDeployDemo.dll
#環境變量
environment=ASPNETCORE_ENVIRONMENT=Production
#用戶
user = root
#進程數
numprocs=1
#supervisor啟動的時候是否隨着同時啟動,默認True
autostart=true
#當程序exit的時候,這個program不會自動重啟,默認unexpected,設置子進程掛掉后自動重啟的情況,有三個選項,false,unexpected和true。如果為false的時候,無論什么情況下,都不會被重新啟動,如果為unexpected,只有當進程的退出碼不在下面的exitcodes里面定義的
autorestart=false
#這個選項是子進程啟動多少秒之后,此時狀態如果是running,則我們認為啟動成功了。默認值為1
startsecs=1
#把stderr重定向到stdout,默認 false
redirect_stderr = true
#stdout日志文件大小,默認 50MB
stdout_logfile_maxbytes=10
#stdout日志文件備份數
stdout_logfile_backups=10
#日志輸出
stderr_logfile=/app/supervisor/logs/demo/log_error.log

3.5 重啟配置中的所有程序

supervisorctl reload

3.6啟動程序

supervisorctl start demo

3.7常用命令

supervisord -v 查看版本號
supervisorctl 查看正在守候的進程
supervisorctl start <application name> 啟動指定應用
supervisorctl stop <application name> 停止指定應用
supervisorctl restart all 重啟所有應用
supervisorctl stop all 停止所有應用
supervisorctl start all 啟動所有應用

4、Nginx反向代理

4.1 下載離線包,用瀏覽器打開地址,選擇您要下載的版本:http://nginx.org/packages/centos/7/x86_64/RPMS/

4.2 這里我們下載的是1.16.1版,上傳到服務器,執行命令安裝

yum install -y nginx-1.16.1-1.el7.ngx.x86_64.rpm

4.3 啟動Nginx並設置開機啟動

service nginx start
#或者
systemctl start nginx.service
systemctl enable nginx.service

4.4 查看Nginx版本

nginx -v

4.5 查看Nginx啟動狀態

service nginx status
systemctl status nginx.service

如圖為正在運行狀態:

以上,Nginx已成功運行,安裝的配置文件一般在/etc/nginx/nginx.conf

4.6 在/etc/nginx/nginxd/目錄下創建站點的配置文件

vi /etc/nginx/conf.d/demo.conf

server {
    listen        80;
    location / {
        proxy_pass         http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

4.7 重載Nginx配置

nginx -s reload

以上,反向代理已部署完成。


免責聲明!

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



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