linux 發佈部署 asp-net core 獨立部署包並添加守護進程服務

  1. 先使用 vs 發佈需要的項目到指定目錄

  2. 複製項目發佈包到 linux 指定目錄 

我一般放在 opt 下面   一般發佈後的文件沒有執行權限 

如果給文件所有者添加可執行權限:chmod u+x ./publish/* (所有執行 dll 文件等可執行權限)

chmod g=rwx, o=rx  ./publish/* 

  1. 在此目錄下創建 slaughter.service 服務文件 sudo nano /etc/systemd/system/slaughter.service

  2. 編輯此文件 如下 

[Unit]

Description=Example .NET Web API App running on Ubuntu

[Service]

WorkingDirectory=/opt/dev/publish        【發佈項目目錄】

ExecStart=/opt/dev/publish/Qhbx.Tracebility.Core.Slaughter.WebApi  【命令執行文件】

Restart=always

Restart service after 10 seconds if the dotnet service crashes:

RestartSec=10   【重啓時間間隔】

KillSignal=SIGINT

SyslogIdentifier=dotnet-example

User=root   【所屬用戶】

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

  1. 編輯完成之後 chmod 776 slaughter.servcie  添加可執行權限

  2. 進入 發佈部署包目錄 cd /opt/dev/publish/ 

執行 ./Qhbx.Tracebility.Core.Slaughter.WebApi  --urls=http://*:8803 (項目名可執行文件) 

查看是否項目啓動 項目端口號是 8803 如果啓動正常 則下面開放端口號

  1. 防火牆常見命令:

查看已經開放的端口:

firewall-cmd --list-ports

開啓端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

命令含義:

–zone #作用域

–add-port=80/tcp #添加端口,格式爲:端口 / 通訊協議

–permanent #永久生效,沒有此參數重啓後失效

重啓防火牆

firewall-cmd --reload #重啓 firewall

systemctl stop firewalld.service #停止 firewall

systemctl disable firewalld.service #禁止 firewall 開機啓動

firewall-cmd --state #查看默認防火牆狀態(關閉後顯示 notrunning,開啓後顯示 running)

此處只需要開放 8803

firewall-cmd --zone=public --add-port=8803/tcp --permanent

然後重啓 防火牆 firewall-cmd --reload

  1. 啓動守護服務 目錄 / etc/systemd/system

sudo systemctl enable slaughter【啓用服務】

sudo systemctl start slaughter 【啓動服務】

sudo systemctl status slaughter【查看啓動狀態】

修改服務配置 service 之後需要 systemctl daemon-reload【加載】

首先看一下服務列表裏有沒有這個服務:

systemctl list-unit-files --type=service

如果有的話:

systemctl daemon-reload

9 . 啓動成功後狀態查看

————————————————

版權聲明:本文爲 CSDN 博主「andy5520」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/andy5520/article/details/108123916

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/uYh3ABp23-awN9_JBfXeEA