📅  最后修改于: 2023-12-03 15:03:10.726000             🧑  作者: Mango
在 Linux 系统中,systemd 是现在最主流的管理系统服务和守护进程的方式。而本文将介绍 NGINX 在 systemd 系统中启动的方法,以及如何使用 shell-bash 编写 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 服务,以确保系统的稳定性和安全性。