前言:
linux服务器关机后需要手动启动部署的服务,对服务进行开机自启设置更加方便
设置步骤:
1、系统服务目录/usr/lib/systemd下边有系统(system)和用户(user),system是需要开机没有登陆情况下就能运行的程序,user是用户登录后才能运行的程序。
2、新建文件service文件,以禅道服务为例子:
vim /usr/lib/systemd/system/zentao.service
内容如下:
[Unit]
Description=zentao
After=network.target
[Service]
Type=forking
ExecStart=/opt/zbox/zbox start
ExecReload=/opt/zbox/zbox restart
ExecStop=/opt/zbox/zbox stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
上边文件各行参数说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart服务运行命令
ExecReload服务重启命令
ExecStop服务停止命令
PrivateTmp=True表示给服务分配独立的临时空间
[Install]服务安装的相关设置
WantedBy=multi-user.target
*服务的启动、重启、停止命令全部要求使用绝对路径
3、修改权限
chmod 754 zentao.service
4、查看服务状态
systemctl status zentao
此时未设置开机自启,也无法查看服务状态
设置开启自启:
systemctl enable zentao
#再查看服务状态
systemctl status zentao
此时已设置开机自启,但无法查看服务状态
需要先关闭下服务,再开启就可以查看服务状态了:
#关闭服务
systemctl stop zentao
#启动服务
systemctl start zentao
#查看状态
systemctl status zentao
此时开启自启和服务状态均正常:
最后可以重启服务器验证下:reboot
常用命令:
启动服务:systemctl start zentao
停止服务:systemctl stop zentao
重启服务:systemctl reload zentao
开启系统启动自启动:sudo systemctl enable zentao
关闭系统启动自启动:sudo systemctl disable zentao
查看状态:systemctl status zentao
查看所有已启动的服务:systemctl list-units --type=service