.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

相关推荐
ajassi200036 分钟前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎40 分钟前
linux 进程信号(下)
linux·运维·服务器
skywalk81631 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
Mikko71 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
蓝胖的四次元口袋1 小时前
Jenkins知识梳理(2)
运维·jenkins
yumgpkpm1 小时前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Madison-No71 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
Liuqy-051 小时前
特殊进程——孤儿、僵尸、守护进程
linux·运维·服务器
流浪0012 小时前
Linux系统篇47——线程(十二) POSIX 信号量与环形队列,把判空判满提前到访问之前
linux·操作系统·线程·信号量·环形队列
咖丨喱2 小时前
【MMC Core + hc16 Host(WiFi SDIO 如何落到控制器)】
linux