如何配置Nginx为系统服务
- 在/usr/lib/systemd/system目录下添加nginx.service,内容如下:
[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
RestartSec=5s
PrivateTmp=true
[Install]
WantedBy=default.target
解释各个配置项的含义:
[Unit] 部分是对服务单元的描述。
- Description:描述服务的简短说明。
- After:指定服务单元依赖的其他单元,在本例中表示 Nginx 服务应该在网络服务启动后启动。
[Service] 部分是指定服务的具体执行细节。
- Type:指定服务的启动类型,这里是 forking,表示启动服务时会派生出一个子进程。
- ExecStart:指定启动 Nginx 服务的命令;路径应为自己Nginx的安装路径。
- ExecReload:指定重新加载 Nginx 配置的命令;路径应为自己Nginx的安装路径。
- ExecStop:指定停止 Nginx 服务的命令;路径应为自己Nginx的安装路径。
- KillMode:指定终止模式,这里是 process,表示通过向进程发送信号终止服务。
- Restart:指定在失败时是否重新启动服务,这里是 on-failure,表示只有在服务失败时才重新启动。
- RestartSec:指定重新启动服务的时间间隔,这里是 5 秒。
[Install] 部分是指定服务的安装信息。
- WantedBy:指定服务的启动级别,这里是 multi-user.target,表示服务将在多用户环境下启动。
(2)添加完成后如果权限有问题需要进行权限设置
chmod 755 /usr/lib/systemd/system/nginx.service`<details>
(3)使用系统命令来操作Nginx服务
启动: systemctl start nginx
停止: systemctl stop nginx
重启: systemctl restart nginx
重新加载配置文件: systemctl reload nginx
查看nginx状态: systemctl status nginx
开机启动: systemctl enable nginx