.Net Core 在Linux系统下创建服务

将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

相关推荐
j_xxx404_6 分钟前
Linux:版本控制器Git(第一章)|历史|理解Git|相关git操作|提交冲突解决
linux·运维·git·ai
Robot侠17 分钟前
ROS1从入门到精通 1 :ROS1简介与环境搭建(Ubuntu 20.04 + Noetic完整指南)
linux·ubuntu·ros·机器人操作系统
java_logo27 分钟前
Supabase Postgres Docker 容器化部署指南
运维·docker·postgresql·容器·postgres部署教程·postgres部署文档·docker postgres
纸带39 分钟前
如何理解USB 配置描述符wTotalLength位运算深度
linux·网络·windows
落羽的落羽1 小时前
【C++】深入浅出“图”——图的遍历与最小生成树算法
linux·服务器·c++·人工智能·算法·机器学习·深度优先
爬山算法1 小时前
Netty(23)Netty的负载均衡和高可用性如何实现?
运维·负载均衡
极地星光1 小时前
VMware+Ubuntu+LVM 虚拟机存储扩容全流程(解决分区/空间不识别问题)
linux·运维·ubuntu
l1t1 小时前
利用docker在windows 11 wsl中安装oracle 12cR2
运维·windows·docker·oracle·容器
HalvmånEver1 小时前
Linux:库制作与原理(二)
linux·运维·服务器
芝麻开门-新起点1 小时前
第17章:制图自动化与地图设计优化
运维·自动化