专栏首页thinkphp+vue监控nginx.conf配置文件,配置文件修改自动重启nginx
原创

监控nginx.conf配置文件,配置文件修改自动重启nginx

1.1 实现目标

  1. 在学习或者进行nginx测试的时候,耗费在 nginx -s reload/stop 上的命令时间很多,修改任意内容都需要重新启动或者停止启动,基本上状态就是在下面5个状态间来回切换
    • vim nginx.conf
    • 修改nginx.conf
    • 保存nginx.conf
    • 重启nginx
    • 刷新浏览器...
  2. 重启的这个时间其实我们可以用来做更多事情,比如更专注于内容而不是停止、重启,一般程序员不喜欢重复的东西
  3. 我们可以简化重启这一步骤,实现nginx.conf有任何修改就自动重启nginx,实现自动加载
  4. 下面我们就手摸手来实现nginx配置文件修改自动加载
  5. 【注意】:以下所有操作均基于Linux(centos7)版本,不适用于windows

1.2 技术难度

  1. 技术难度:★★
  2. 原理难度:★

二、技术实现

2.1 所需技术

  1. Linux基本命令知识
  2. Linux Shell编程知识

2.2 技术原理

  1. 配置文件有修改,那么配置文件的修改时间一定会改变
  2. 那么我们可以记录修改时间,如果当前文件的修改时间和上次记录的修改时间不一致,绝壁是修改了配置文件,这个时候我们就可以执行nginx的重启命令,然后把当前时间作为最后一次修改时间
  3. 循环以上操作,就可以实现nginx配置文件有修改后自动加载最新配置文件
  4. 上面原理仅供参考,还有很多方式也可以实现,这种比较简单粗暴

2.3 脚本演示

  1. 启动脚本(参考脚本使用先写好shell脚本),将会进入等待

2. 修改nginx.conf文件然后保存,然后可以看到配置文件重新加载

3. 然后刷新浏览器看看,可以看到已经刷新,动态效果演示

5. 欢迎各位朋友评论区留言

2.4 shell脚本

  1. 只需要修改下面的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
复制代码

三、脚本使用

  1. 新建shell脚本,例如
vim reload.sh
复制代码
  1. 把脚本拷贝进去
  2. 修改对应nginx路径然后保存脚本
  3. 修改权限
chmod 744 reload.sh
复制代码
  1. 启动脚本
./reload.sh
复制代码
  1. 启动之后当前窗口会进入等待状态,配置文件修改之后会自动加载,退出ctrl+c中断即可

创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 !

来自 “开源独尊 ” ,链接: https://ym.baisou.ltd/post/805.html

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Nginx(二)------nginx.conf 配置文件

      上一篇博客我们将 nginx 安装在 /usr/local/nginx 目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件 nginx...

    IT可乐
  • Nginx配置文件nginx.conf详解

    最近折腾Ubuntu比较多,也基本原理了Windows和IIS了,论一个软狗的堕落史。既然换到Ubuntu系统上来,勉强算个web开发人员的我当然用的最多的就...

    李郑
  • node配置自动监测文件改变不重启

    方法一: nodemon npm install -g nodemon nodemon ./bin/www 或者在npm start命令里把node改为nod...

    蓓蕾心晴
  • Nginx配置文件nginx.conf中文详解

    老七Linux
  • Nginx学习系列三Nginx的启动、停止、修改配置文件后重启

    第二步:通过mster进程的进程号进行关闭   kill -QUIT Nginx master进程号

    郑小超.
  • nginx配置文件nginx.conf超详细讲解

    #nginx进程,一般设置为和cpu核数一样 worker_processes 4;                         #错误日志存放目录 er...

    互联网金融打杂
  • vim配置文件修改

    山海散人
  • Docker部署Nginx并修改配置文件

    只要启动访问80端口就能直接访问到/usr/share/nginx/html/index.html了

    用户2409797
  • nodejs修改文件自动重启

    每修改一次nodejs下面的项目js文件就要使用node重启一次很烦,下面使用npm安装Supervisor实现监测文件修改并自动重启应用

    十月梦想
  • 在 ASP.NET Core 中修改配置文件后自动加载新的配置

    在 ASP.NET Core 默认的应用程序模板中, 配置文件的处理如下面的代码所示:

    beginor
  • 深入浅出Nginx

    Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

    lyb-geek
  • 不得不知的Nginx必备知识!!

    Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

    架构师修行之路
  • python远程修改配置文件

    ip = "192.168.1.116" user = "root" passwd = "vision" target_file = "/usr/local/s...

    py3study
  • 深入浅出Nginx前言反向代理服务器?Nginx的Master-Worker模式我们的主战场:nginx.conf

    Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

    用户2890438
  • 8分钟带你深入浅出搞懂Nginx

    Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 ? 架构图 上图基本上说明了当下流...

    小小科
  • 图文并茂,深入浅出Nginx

    01前言 Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 ? 架构图 上图基本上说明...

    java思维导图
  • 深入浅出Nginx

    Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少(一个worker进程只占用10-12M内存),启动极快,高并发能力强,在互联网项目中广...

    码农编程进阶笔记
  • 部署Nginx网站服务实现访问状态统计以及访问控制功能

    Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求...

    Java帮帮
  • Nginx 入门教程

    Nginx 推荐配置的工作进程数为 CPU 内核个数,这样可以确保硬件资源有效利用,在配置文件中设置 worder_processes auto 将自动调整工作...

    柳公子

扫码关注云+社区

领取腾讯云代金券