Linux服务自启动

1. systemctl

systemctl 命令有两大类功能:

  • 控制 systemd 系统
  • 管理系统上运行的服务

制作自启服务
以Nginx为例

1
2
# cd /lib/systemd/system/
# vim nginx.service

输入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=tomcat
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/local/nginx/sbin/nginx //自已的nginx目录
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PrivateTmp=true

[Install]
WantedBy=multi-user.target

其他服务也是类似的方法,只是在新建xxx.service文件时需要注意启动程序的路径须为绝对路径。

systemctl 常用命令

1
2
3
4
5
6
7
8
9
10
# systemctl enable nginx                  开机自启nginx服务
# systemctl disable nginx 取消开机自启

# systemctl start nginx.service  启动nginx服务
# systemctl stop nginx.service  停止服务
# systemctl restart nginx.service  重新启动服务
# systemctl status nginx.service 查看服务当前状态

# systemctl list-units --type=service 查看所有已启动的服务
# systemctl daemon-reload 加载服务配置文件