当前位置: 首页 > news >正文

Linux 上设置 Nginx 开机自启

Linux 上设置 Nginx 开机自启

本教程将介绍如何通过 systemd 在 Linux 系统上配置 Nginx 开机自启,涵盖服务文件创建、配置项解析、服务管理与日志排查。

1. 创建服务文件

使用 vim 编辑 systemd 服务文件,路径为/etc/systemd/system/nginx.service

vim/etc/systemd/system/nginx.service

2. 配置文件详解

[Unit] Description=Nginx Web Server After=network.target
  • Description:服务描述,systemctl status时显示。
  • After:指定在网络服务就绪后再启动 Nginx,避免启动时网络不可用。
[Service] Type=forking PIDFile=/app/nginx/logs/nginx.pid ExecStartPre=/app/nginx/sbin/nginx -t -c /app/nginx/conf/nginx.conf ExecStart=/app/nginx/sbin/nginx -c /app/nginx/conf/nginx.conf ExecReload=/app/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID LimitNOFILE=65535 Restart=on-failure RestartSec=5
  • Type=forking:表示 Nginx 启动后会派生子进程,主进程退出,systemd 通过 PIDFile 跟踪实际进程。
  • PIDFile:指定 PID 文件路径,systemd 据此管理服务。
  • ExecStartPre:启动前执行配置测试,确保配置文件语法正确,失败则不会启动。
  • ExecStart:启动 Nginx 主程序,指定配置文件路径。
  • ExecReload:执行平滑重载配置,不中断服务。
  • ExecStop:向主进程发送 QUIT 信号,优雅停止。
  • LimitNOFILE:设置文件描述符上限为 65535,应对高并发连接。
  • Restart=on-failure:非正常退出时自动重启服务。
  • RestartSec:重启前等待 5 秒,防止频繁重启。
[Install] WantedBy=multi-user.target
  • WantedBy:定义服务在多用户运行级别下启用,配合systemctl enable实现开机自启。

3. 加载并启用服务

保存文件后,重新加载 systemd 配置:

systemctl daemon-reload

设置开机自启:

systemctlenablenginx

启动 Nginx:

systemctl start nginx

查看运行状态:

systemctl status nginx

4. 日常管理命令

  • 启动:systemctl start nginx
  • 停止:systemctl stop nginx
  • 重启:systemctl restart nginx
  • 重载配置(不中断服务):systemctl reload nginx
  • 关闭开机自启:systemctl disable nginx
  • 查看开机自启状态:systemctl is-enabled nginx

5. 日志排查

若启动失败,查看实时日志:

journalctl-unginx-f

http://www.cnnetsun.cn/news/4246152.html

相关文章:

  • 【单片机课程设计/毕业设计】基于 STM32 单片机多传感器空气环境监控终端设计 基于 STM32 的室内 PM2.5 温湿度烟雾综合监测系统设计(010305)
  • 2026 年指纹浏览器深度横评:6 款主流产品防关联原理与性能对比
  • 公司注销在哪里登报?一篇讲透,少走弯路不花冤枉钱!
  • Java 大厂面试实录:Spring Boot + Kafka + Redis + Spring Security + AI 的电商直播中台实战问答
  • 热门Java开发工具IDEA入门指南——如何设置屏幕阅读器?
  • 自学网络安全完整路线:4 周打基础 + 6 周实战,小白直接照做
  • 孤能子视角:硅基演化篇·05 凝结核的生成与植入——从外植到内生:硅基调上凝结核的判据与观测
  • 新项目测试流程归纳总结(总分总思想:业务、目标用户、功能架构、技术架构-4维角度)
  • 新模型上线如何快速验证与部署:从推理服务化到本地运行指南
  • 收藏这份Android Framework开发入门指南,带你步入Android系统开发的殿堂
  • Springboot物联网O2O售货机管理系统源码解析与二次开发指南
  • JMeter手工接口测试使用总结
  • 《Android Framework开发指南》最新版本,腾讯技术团队出品,含26万字、109个知识点
  • Kiro AI开发框架:从意图驱动到全流程融入实战解析
  • 「2022」Android中高级工程师的面试必知百题(含答案解析)
  • STM32+Alexa语音交互方案:从硬件到云端全链路解析
  • 2026考研党福音!亲测一款免费录音转文字工具,上课笔记从此告别手忙脚乱
  • 生态动力学建模:Lotka-Volterra竞争模型与Python数值模拟实战
  • 2022年大厂依然吃香吗?入职大厂就一定好吗?
  • 插件化:大厂实战项目解说(含腾讯Shadow项目解析)
  • 炒股十几年的我,不知道算不算老股民了,但我可以告诉你们的是:我现在可以靠“它”养家糊口自由,下面说十几条我炒股多年的经验总结!
  • 2022年要面试的注意啦,Android面试题全网最全汇总
  • 蓝桥杯印章题解析:动态规划求解赠券收集概率问题
  • 什么?你还不会用Kotlin?一起跟着官方文档学习Kotlin协程吧
  • 中国机器人突围:从核心零部件国产替代到AI大模型与ROS 2实践
  • K-均值聚类算法:从原理到实战的完整指南
  • 都说码农发展前景不好,那些35岁以上的程序员们,后来都干什么去了?
  • 医疗级可穿戴传感器模块设计:从指标到落地的全流程实战
  • 超低功耗MCU开发全攻略:选型、初始化、架构与排查技巧
  • 抖音视频批量下载入门:douyin-downloader 一步到位的完整指南