systemd服务管理,编写systemd Unit文件
2021-05-10 本文已影响0人
一个小运维
- 熟悉systemctl常用命令
- 通过systemd管理shell脚本
- 通过systemd管理Nginx服务
熟悉systemctl常用命令
1)命令列表
[root@web1 ~]# systemctl #列出所有启动的服务
[root@web1 ~]# systemctl status <服务名称> #查看服务状态
[root@web1 ~]# systemctl start <服务名称> #启动服务状态
[root@web1 ~]# systemctl stop <服务名称> #关闭服务状态
[root@web1 ~]# systemctl restart <服务名称> #重启服务状态
[root@web1 ~]# systemctl enable <服务名称> #设置开机自启
[root@web1 ~]# systemctl enable --now <服务名称> #设置开机自启并启动
[root@web1 ~]# systemctl disable <服务名称> #禁止开机自启
[root@web1 ~]# systemctl enable <服务名称> #设置开机自启
[root@web1 ~]# systemctl is-active <服务名称> #查看是否激活
[root@web1 ~]# systemctl is-enabled <服务名称> #查看是否开启自启
[root@web1 ~]# systemctl reboot #重启计算机
[root@web1 ~]# systemctl poweroff #关闭计算机
使用systemd管理shell脚本
1)编写shell脚本
[root@web1 ~]# vim /root/test.sh
#!/bin/bash
while :
do
echo NB
echo DACHUI
done
[root@web1 ~]# chmod +x /root/test.sh
2)编写Unit文件
[root@web1 ~]# cp /usr/lib/systemd/system/{crond.service,test.service}
[root@web1 ~]# vim /usr/lib/systemd/system/test.service
[Unit]
Description=my test script
After=time-sync.target
[Service]
ExecStart=/root/test.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
[Install]
WantedBy=multi-user.target
使用systemd管理Nginx服务
1)编写Unit文件
[root@web1 ~]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP Server #描述信息
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#仅启动一个主进程的服务为simple,需要启动若干子进程的服务为forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT ${MAINPID}
[Install]
WantedBy=multi-user.target