首页 > 编程知识 正文

修改nginx配置文件需要重启吗,nginx配置文件修改后要重启吗

时间:2023-05-04 06:18:20 阅读:228527 作者:2435

文章目录 一、实现目标1.1 实现目标1.2 技术难度 二、技术实现2.1 所需技术2.2 技术原理2.3 脚本演示2.4 shell脚本 三、脚本使用

一、实现目标 1.1 实现目标 在学习或者进行nginx测试的时候,耗费在 nginx -s reload/stop 上的命令时间很多,修改任意内容都需要重新启动或者停止启动,基本上状态就是在下面5个状态间来回切换
a. vim nginx.conf
b. 修改nginx.conf
c. 保存nginx.conf
d. 重启nginx
e. 刷新浏览器…重启的这个时间其实我们可以用来做更多事情,比如更专注于内容而不是停止、重启,一般程序员不喜欢重复的东西我们可以简化重启这一步骤,实现nginx.conf有任何修改就自动重启nginx,实现自动加载下面我们就手摸手来实现nginx配置文件修改自动加载【注意】:以下所有操作均基于Linux(centos7)版本,不适用于windows 1.2 技术难度 技术难度:★★原理难度:★ 二、技术实现 2.1 所需技术 Linux基本命令知识Linux Shell编程知识 2.2 技术原理 配置文件有修改,那么配置文件的修改时间一定会改变那么我们可以记录修改时间,如果当前文件的修改时间和上次记录的修改时间不一致,绝壁是修改了配置文件,这个时候我们就可以执行nginx的重启命令,然后把当前时间作为最后一次修改时间循环以上操作,就可以实现nginx配置文件有修改后自动加载最新配置文件上面原理仅供参考,还有很多方式也可以实现,这种比较简单粗暴 2.3 脚本演示 启动脚本(参考脚本使用先写好shell脚本),将会进入等待
修改nginx.conf文件然后保存,然后可以看到配置文件重新加载
然后刷新浏览器看看,可以看到已经刷新,动态效果演示
欢迎各位朋友评论区留言 2.4 shell脚本 只需要修改下面的nginx安装路径即可 #!/dydbbt/bash# nginx安装目录,结尾没有/BASE_PATH="/opt/Nginx/nginx-1.8-1"# 配置文件位置CONFIG_FILE="$BASE_PATH/conf/nginx.conf"# NGINX启动文件所在目录,结尾没有/NGINX_PATH="$BASE_PATH/sdydbbt"# 获取初始修改时间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" ]; thenecho "------------------ 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 "------------------------------------------------------"fidone

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。