CentOS 7 Nginx部署.NET Core Web應用


部署.NET Core運行時

必要前提

在安裝.NET Core前,需要注冊Microsoft簽名秘鑰並添加Microsoft產品提要,每台機器只需要注冊一次,執行如下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

安裝.NET Core Runtime

sudo yum install aspnetcore-runtime-3.1

# 驗證dotnet core runtime是否安裝成功
dotnet

#查看系統中包含的.net core runtime版本
dotnet --list-runtimes

部署Asp.Net Core應用程序

在CentOS系統中,創建/home/publish/demo文件夾

mkdir /home/publish /home/publish/demo

在Visual Studio 2019中創建Web應用Linux.Web,發布為文件夾,並通過FXTP上傳到publish/demo文件夾下

Nginx安裝與配置

安裝nginx

# 安裝nginx
yum install nginx

# 啟動nginx
systemctl start nginx

# 設為開機啟動
systemctl enable nginx

可以通過瀏覽器訪問服務器地址 http://ip:80 來看看nginx運行情況

配置nginx.conf

使用XFTP修改 /etc/nginx/conf.d/default.conf 文件,添加如下配置

server {
    listen 8000;
 
    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;
    }
 
    error_page 404 /404.html;
        location = /40x.html {
    }
 
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

重啟Nginx

nginx -s reload

運行ASP.NET Core應用程序

cd /home/publish/demo
dotnet Linux.Web.dll

通過瀏覽器訪問 http://ip:8000 此時已經可以訪問在CentOS上部署的站點了!

設置 .NET Core 開機啟動

創建服務文件

vim /etc/systemd/system/demoapp.service

寫入如下內容

[Unit]
Description=Demo .NET Web Application running on CentOS 7

[Service]
WorkingDirectory=/home/publish/demo
ExecStart=/usr/bin/dotnet /home/publish/demo/Linux.Web.dll
Restart=always
RestartSec=20
SyslogIdentifier=dotnet-demo
User=nginx
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

設置開機啟動

systemctl enable demoapp.service

開啟服務,並查詢狀態

systemctl start demoapp.service
systemctl status demoapp.service


免責聲明!

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



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