📜  NGINX systemd 服务文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:03:10.726000             🧑  作者: Mango

NGINX systemd 服务文件 - Shell-Bash

介绍

在 Linux 系统中,systemd 是现在最主流的管理系统服务和守护进程的方式。而本文将介绍 NGINX 在 systemd 系统中启动的方法,以及如何使用 shell-bash 编写 systemd 服务文件。

NGINX systemd 服务文件
编写服务文件

要编写一个 systemd 服务文件,需要在 /etc/systemd/system 目录中创建一个以 .service 结尾的文件。下面是一个示范的 NGINX systemd 服务文件:

[Unit]
Description=NGINX HTTP Server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=/usr/sbin/nginx -g 'daemon on; master_process on;' -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[Unit] 中,我们可以设置服务的描述和启动要求。在 [Service] 中,我们可以设置 NGINX 的启动、重载和停止命令,并声明 PID 文件的位置。需要注意的是,NGINX 必须在前台运行,并在任何错误情况下退出。

操作服务文件

在创建 systemd 服务文件后,可以使用以下命令来操作该服务:

# 重新加载 systemd 配置文件
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start nginx

# 停止服务
sudo systemctl stop nginx

# 重启服务
sudo systemctl restart nginx

# 获取服务状态
sudo systemctl status nginx

# 启用服务,使其在系统启动时自动启动
sudo systemctl enable nginx

# 禁用服务,避免其在系统启动时自动启动
sudo systemctl disable nginx
结论

通过本文,我们已经了解了如何在 systemd 系统中使用 shell-bash 编写 NGINX 服务文件,以及如何操作该服务文件。现在,您可以尝试使用服务文件来启动和管理 NGINX 服务,以确保系统的稳定性和安全性。