Nginx实战-监控nginx.conf配置文件,配置文件修改自动重启nginx
off999 2025-01-04 22:24 28 浏览 0 评论
1.1 实现目标
- 在学习或者进行nginx测试的时候,耗费在 nginx -s reload/stop 上的命令时间很多,修改任意内容都需要重新启动或者停止启动,基本上状态就是在下面5个状态间来回切换vim nginx.conf修改nginx.conf保存nginx.conf重启nginx刷新浏览器...
- 重启的这个时间其实我们可以用来做更多事情,比如更专注于内容而不是停止、重启,一般程序员不喜欢重复的东西
- 我们可以简化重启这一步骤,实现nginx.conf有任何修改就自动重启nginx,实现自动加载
- 下面我们就手摸手来实现nginx配置文件修改自动加载
- 【注意】:以下所有操作均基于Linux(centos7)版本,不适用于windows
1.2 技术难度
- 技术难度:★★
- 原理难度:★
二、技术实现
2.1 所需技术
- Linux基本命令知识
- Linux Shell编程知识
2.2 技术原理
- 配置文件有修改,那么配置文件的修改时间一定会改变
- 那么我们可以记录修改时间,如果当前文件的修改时间和上次记录的修改时间不一致,绝壁是修改了配置文件,这个时候我们就可以执行nginx的重启命令,然后把当前时间作为最后一次修改时间
- 循环以上操作,就可以实现nginx配置文件有修改后自动加载最新配置文件
- 上面原理仅供参考,还有很多方式也可以实现,这种比较简单粗暴
2.3 脚本演示
- 启动脚本(参考脚本使用先写好shell脚本),将会进入等待
2. 修改nginx.conf文件然后保存,然后可以看到配置文件重新加载
3. 然后刷新浏览器看看,可以看到已经刷新。
2.4 shell脚本
- 只需要修改下面的nginx安装路径即可
#!/bin/bash
# nginx安装目录,结尾没有/
BASE_PATH="/opt/Nginx/nginx-1.8-1"
# 配置文件位置
CONFIG_FILE="$BASE_PATH/conf/nginx.conf"
# NGINX启动文件所在目录,结尾没有/
NGINX_PATH="$BASE_PATH/sbin"
# 获取初始修改时间
last_time=`stat $CONFIG_FILE | grep "Modify"`
stop=0
# 当前修改时间
current_time="";
# 死循环,可以根据需要更改
while [ $stop -le 1 ]; do
# 获取当前修改时间
current_time=`stat $CONFIG_FILE | grep "Modify"`
# 当前时间和上次修改时间是否一致,不一致则修改
if [ "$last_time" != "$current_time" ]; then
echo "------------------ Config File Change ----------------"
echo "Last_time $last_time"
echo "Curr_time $current_time"
# 记录上次修改时间为当前时间
last_time=$current_time
# 进入nginx二进制文件目录
cd $NGINX_PATH
# 重新加载,加载的配置文件为上级的conf下的配置文件,根据自己修改
./nginx -s reload
# 关闭后再重启,自定义配置文件目录,使用配置的文件路径
# ./nginx -s stop
# ./nginx -c $CONFIG_FILE
# 更多自定义操作...
echo "------------------------------------------------------"
fi
done三、脚本使用
- 新建shell脚本,例如
vim reload.sh- 把脚本拷贝进去
- 修改对应nginx路径然后保存脚本
- 修改权限
chmod 744 reload.sh- 启动脚本
./reload.sh- 启动之后当前窗口会进入等待状态,配置文件修改之后会自动加载,退出ctrl+c中断即可
- 上一篇:Nginx学习之配置RTMP模块搭建推流服务
- 下一篇:nginx负载均衡配置
相关推荐
- outlook注册官网(outlook注册官网入口)
-
1.访问outlook.com,点击“创建新帐户”。2.点击“创建新Outlook帐户”,输入你的用户名、密码、国家/地区、生日、性别,然后点击“创建帐户”,即可完成注册。登陆邮箱被告知此账号不存...
-
- win7哪个系统最好(win7哪家系统好用)
-
Win7系统中,最好用的版本是Windows7Professional。它提供了广泛的功能和优秀的性能,适用于个人和商业用户。Windows7Professional具有稳定的操作系统,易于使用且具备高度的兼容性。它提供了许多高级功...
-
2025-12-09 08:03 off999
- win10整理磁盘碎片的步骤(win10整理磁盘碎片的步骤包括)
-
1、首先电脑桌面上打开(我的电脑),然后选择需要碎片整理的磁盘,如右键E盘,再单击属性。 2、在磁盘属性页面,点工具栏,在工具栏下面看到磁片整...
- win11有一键ghost(win11有一键还原系统吗)
-
应该是系统设置上的问题。使用右键点击计算机选择属性-高级系统设置-点击启动和故障恢复栏的设置-最上面那个默认启动操作系统是不是设置在系统上,如果是设置在ghost上那就更改过来。如果这上面设置正确那么...
- cad2015序列号(序列号cad2016)
-
AutoCAD2020安装序列号:666-69696969、667-98989898、400-45454545、066-66666666AutoCAD2020产品密钥:001L1AutoCAD201...
-
- 应用程序发生异常(应用程序发生异常unKnown software)
-
打开或关闭某程序时出现内存不能为的提示,说明这个程序与系统中其他的程序有冲突的地方,建议在操作某程序的时候关闭一切程序包括杀毒软件,和暂时关闭杀毒软件的监控功能和带有的监控功能的其他程序。如果还经常出现错误的提示,将这个程序卸载,再重新下载...
-
2025-12-09 05:03 off999
- 免费海外ip地址(免费海外ip地址查询)
-
56.23.52.41美国北卡罗来纳(美国邮政局)62.164.192.6462.164.192.95英国KidderminsterCollege69.240.0.069.243.255.25...
- 移动硬盘不显示怎么修复(移动硬盘不显示怎么修复呢)
-
1、移动硬盘插入电脑,选择计算机,选择左侧“此电脑”,点击右击。2、选择“管理”点击,进入计算机管理;选择磁盘“磁盘管理”。3、如没有看到移动硬盘,可以选择右边的更多操作,重新扫描磁盘。4、如依然没有...
- 技术员联盟系统(技术员联盟官网)
-
区别一:纯净版就是指安装完了以后是一个windows的初始环境,没有安装其他任何第三方软件。装机版就是装好以后还会继续安装一些制作者添加的第三方软件,比如说下载工具啊,聊天工具啊什么的。安装版指的是用...
- win10系统如何还原系统(win10还原系统方法)
-
要想恢复到Win10原版系统,可以通过两种方式。一种是使用Win10系统恢复工具,该工具可以在Win10设置中找到,然后选择恢复选项,并按照步骤完成恢复操作即可。另一种方式是直接从Microsoft官...
- 老毛桃xp u盘启动(老毛桃xp u盘启动)
-
老毛桃安装纯净版XP的方法需要用到的工具:winxp纯净版系统iso镜像+启动U盘1、进入老毛桃,选第一个PE后找到我们事先准备好的纯净版系统iso镜像,右键点击加载虚拟磁盘(也可以利用虚拟光驱来加载...
- 无线wifi密码破解工具
-
WiFi万能密码WiFi万能密码可免费连接WiFi,极速发现无线WiFi信号,一键即可连接上网,同时还能检测WiFi的信号轻度及安全度,让你想怎么玩就怎么玩,不必在担心流量的问题。这款软件操作简单,一...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
