将Net Core项目部署在Linux系统下,每次更新启动都很麻烦,有没有什么快捷的方法呢,请看下面。
1.新建一个***.service文件。
例如,项目发布好的dll名称为Test.dll,我们就可以新建一个Test.service文件
2.在Test.service文件中复制以下文本,根据需要可修改内容
[Unit]
#服务名称
Description=Test
[Service]
#服务所在的文件夹
WorkingDirectory=/home/Test
#运行网站命令
ExecStart=/usr/bin/dotnet /home/Test/Test.dll
#服务崩溃时,是否重启服务
Restart=always
#如果服务崩溃,10秒后重启服务
RestartSec=10
#以服务器上的哪个账号运行服务,这里使用root账号
User=root
#系统日志标识,可以随便录入,建议跟网站或服务的名字相同,这样比较好识别
SyslogIdentifier=Test
#设置环境变量,这里设置运行为生产环境
Environment=ASPNETCORE_ENVIRONMENT=Production
#服务运行时是否打印临时信息
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
#服务运行在linux上的哪个level,这里选择多用户命令行,也就是第3级别
WantedBy=multi-user.target
3.当将以上service文件创建好后,用以下命令启动、查看状态等,Test.service可根据各自需要进行修改
systemctl enable Test.service #开机启动
systemctl start Test.service #启动
systemctl restart Test.service #重启
systemctl stop Test.service #停止
systemctl status Test.service #检查服务状态 running表示服务器正在运行,fail表示程序出错
systemctl list-units --type=service #列出所有的服务
4.当部署出现失败时,可通过以下命令查看具体日志内容:
sudo journalctl -fu Test.service