CentOS 7 设置 Nginx 开机自启(使用 Systemd)

CentOS 7 设置 Nginx 开机自启(使用 Systemd)

概述

本文档将指导您如何在 CentOS 7 上使用 Systemd 设置 Nginx 开机自启。Systemd 是 Linux 的系统和服务管理器,负责在系统启动时初始化系统环境、启动和管理系统进程。

步骤

1. 创建或编辑 nginx.service 文件

  • 检查文件是否存在 :

    首先检查 /etc/systemd/system/ 目录下是否存在 nginx.service 文件。

    bash 复制代码
    ls /etc/systemd/system/ | grep nginx.service
  • 创建或编辑文件 :

    如果文件不存在,使用以下命令创建并编辑:

    bash 复制代码
    sudo vim /etc/systemd/system/nginx.service

    如果文件已存在,则直接编辑该文件。

2. 添加服务配置

在 nginx.service 文件中添加以下内容(根据实际情况调整路径):

ini 复制代码
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

说明:

  • PIDFile:指定 Nginx 的 PID 文件路径。
  • ExecStartPre:在启动 Nginx 之前执行的命令,用于测试 Nginx 配置文件的语法。
  • ExecStart:启动 Nginx 的命令。
  • ExecReload:重新加载 Nginx 配置的命令。
  • ExecStop:停止 Nginx 的命令。

3. 重新加载 systemd

编辑完成后,重新加载 systemd 以扫描新的或有变动的单元:

bash 复制代码
sudo systemctl daemon-reload

4. 设置开机自启

启用 Nginx 服务,使其在系统启动时自动启动:

bash 复制代码
sudo systemctl enable nginx.service

5. 启动 Nginx 服务

立即启动 Nginx 服务:

bash 复制代码
sudo systemctl start nginx.service

6. 验证服务状态

检查 Nginx 服务的状态,确保它正在运行:

bash 复制代码
sudo systemctl status nginx.service

如果服务正常运行,您将看到类似以下的输出:

复制代码
● nginx.service - The NGINX HTTP and reverse proxy server
   Loaded: loaded (/etc/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since ...

注意事项

  • 路径正确性 :确保 nginx.service 文件中的路径与 Nginx 的实际安装路径一致。

  • 权限问题 :确保 nginx.service 文件和 Nginx 可执行文件具有正确的权限。

  • 配置文件语法 :在对 Nginx 配置文件进行任何修改后,建议先测试其语法是否正确:

    bash 复制代码
    nginx -t
  • 系统兼容性:使用 Systemd 方法是管理现代 Linux 发行版(如 CentOS 7)服务的推荐方式。


相关推荐
忆挽篱笙歌5 小时前
通信连接,匿名管道
linux·服务器·网络
无足鸟ICT8 小时前
【RHCA+】安装Tuned
linux·服务器·centos
测试界的小码农13 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
一条破秋裤15 小时前
【1114】【并发控制】【笔记】
linux
2035去旅行16 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康16 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡16 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽16 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
Java码农也是农19 小时前
一篇文章讲清 NGINX 反向代理:location、proxy_pass、负载均衡与排错
nginx·负载均衡·后端开发·反向代理·proxy_pass
爱和冰阔落21 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip