.netcore centos配置systemctl自动启动

systemd分两种服务系统和用户服务

1)/usr/lib/systemd/system #系统服务,开机不需要登陆就能运行的程序(相当于开启自启)

2)/usr/lib/systemd/user #用户服务,需要登录后才能运行的程序

 

[Unit]    
Description=api services    
After=network.target         
[Service]    
Type=forking    
ExecStart=/Service/API/RunDotNetServices.sh    
ExecReload=/Service/API/RunDotNetServices.sh     
ExecStop=/Service/API/RunDotNetServices.sh    
PrivateTmp=true    
[Install]    
WantedBy=multi-user.target  

 

启动服务

systemctl start file.service

这里的fileservice为文件名

将会调用配置中的脚本

ExecStart:启动脚本

ExecReload:重启脚本

ExecStop:停止脚本

开机自启配置

systemctl enable file.service

 

安装服务  

 systemctl enable /etc/systemd/system/TestApi.service

systemctl stop TestApi.service

 

systemctl start TestApi.service

 

[Unit] # 主要是服务说明
Description=TestAPI 描述服务
After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动
Before=xxx.service #表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉
及依赖关系。
[Service] # 核心区域
Type=forking # 表示后台运行模式。
User=user # 设置服务运行的用户
Group=user # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/test/test.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后,systemd的重启方式,默认是不重启
ExecStart=/usr/local/test/bin/startup.sh # 服务启动命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间
[Install]
WantedBy=multi-user.target # 多用户

 

 

 

示例

```

# Unit 文件描述
[Unit]
Description=myTest service

# Service 配置参数
[Service]
Type=simple
GuessMainPID=true

# 自启动项目所在的位置路径
WorkingDirectory=/root/myTestWeb
StandardOutput=journal
StandardError=journal

# 自启动项目的命令,这里用了dotnet启动,所以前面添加了dotnet的路径/usr/bin/
ExecStart=/usr/bin/dotnet myTest.dll --Urls=http://*:端口号
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

```

posted @ 2019-08-15 18:26  Hey,Coder!  阅读(1198)  评论(2编辑  收藏  举报