Debian10系统systemctl服务管理方式下Nginx设置开机启动
linux服务目前主要有service和systemctl两种管理方式,systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动,对应的进程管理命令是systemctl。
1. 建立服务文件
命令 sudo vim /usr/lib/systemd/system/nginx.service
,进入文件,将以下代码复制进去保存即可1
2
3
4
5
6
7
8
9
10
11
12
13[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s reload
ExecStop=/bin/kill -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
参数说明:1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]:服务的说明
Description=:描述服务
After=:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart=为服务的具体运行命令所在路径
ExecReload=为重启命令
ExecStop=为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
WantedBy=multi-user.target
2. 设置文件权限并使文件生效
命令:1
2sudo chmod 755 /usr/lib/systemd/system/nginx.service
sudo systemctl daemon-reload
3.设置开机启动
命令:1
sudo systemctl enable nginx.service
只有返回类似 Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service → /etc/systemd/system/nginx.service
提示才能够确定设置成功。如果不是请检查上面的文件.
4. 其他命令
1 | systemctl is-enabled *.service #查询服务是否开机启动 |
*
指所设置的程序名称 比如:nginx.service
转载于nginx在systemctl方式开机自启动
参考资料: