liunx系统设置net Core程序开机自启动服务
系统版本:Centos7.9
我的程序部署到/www/wwwroot/AcmeBookStoreHttpApiHost.com/目录下,
程序名是Meowv.Blog.HttpApi.Hosting.dll
1.新建自启动配置文件
首先跳转到system目录下
cd /usr/lib/systemd/system
新建配置文件名称为xxxx.service
touch HttpApiHosting.service
2.配置文件HttpApiHosting.service里面的内容为
[Unit]
//服务的名称
Description=HttpApiHosting service
[Service]
//存放运行程序的文件夹路径
WorkingDirectory=/www/wwwroot/AcmeBookStoreHttpApiHost.com/
//执行的命令,其中/usr/bin/dotnet是固定不变的,只需要替换后面文件夹以及执行文件的dll
ExecStart= /usr/bin/dotnet /www/wwwroot/AcmeBookStoreHttpApiHost.com/Meowv.Blog.HttpApi.Hosting.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
[Install]
WantedBy=multi-user.target
以上内容保存后
3.启动服务并设置成开机自启动
在/usr/lib/systemd/system目录下
先执行启动服务的命令
systemctl start HttpApiHosting
再设置开机启动
systemctl enable HttpApiHosting
4.注意点
1.设置启动服务和开机自启动的命令里不需要带文件后缀命,不然会报错Unknown operation ‘start xxxx‘
2.配置文件里的ExecStart是执行命令,只需要把我这里的/www/wwwroot/AcmeBookStoreHttpApiHost.com/Meowv.Blog.HttpApi.Hosting.dll替换成你自己需要启动的文件夹路径+文件程序dll即可
3.设置开机自启动完成后,可以重启服务器测试下
效果图:
5.额外的命令面板
1.修改配置文件后重启
systemctl start 服务名 开启服务
systemctl stop 服务名 关闭服务
systemctl status 服务名 显示状态
systemctl restart 服务名 重启服务
systemctl enable 服务名 开机启动服务
systemctl disable 服务名 禁止开机启动
systemctl list-units 查看系统中所有正在运行的服务
systemctl list-unit-files 查看系统中所有服务的开机启动状态
systemctl list-dependencies 服务名 查看系统中服务的依赖关系
systemctl mask 服务名 冻结服务
systemctl unmask 服务名 解冻服务
systemctl set-default multi-user.target 开机时不启动图形界面
systemctl set-default graphical.target 开机时启动图形界面
修改服务配置文件后需要
systemctl daemon-reload
设置服务开机自启动
systemctl enable postgresql.service
查询是否自启动服务
systemctl is-enabled postgresql.service
取消服务器开机自启动
systemctl disable postgresql.service
# 显示某个 Unit 是否正在运行
systemctl is-active application.service
# 显示某个 Unit 是否处于启动失败状态
systemctl is-failed application.service
# 显示某个 Unit 服务是否建立了启动链接
systemctl is-enabled application.service
# 查看每个服务的启动耗时
systemd-analyze blame
# 查看当前运行的所有服务
systemctl list-units
# 查看服务是否开机启动
systemctl list-unit-files