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

nginx 一键切换停机维护页面 —— 筑梦之路

背景说明

进行停机维护或者系统升级等操作,会影响到用户使用,如果停机维护期间用户未看到停机维护的通知,仍去访问系统,会提示默认不太友好的访问错误界面 ,这时如果在维护的时候直接展示停机公告的具体信息,会减少用户的误解。

如何实现

在 Nginx 中,可以设置一个特定的页面来作为"停机维护"或"系统升级"的页面。假设你的停机维护页面为maintenance.html或者maintenance.jpg,并且它位于你的网站主目录的/usr/share/nginx/html中。

首先,你需要在 Nginx 的配置文件中,通常是/etc/nginx/nginx.conf,找到需要配置维护页面的 server 块。

cat /etc/nginx/nginx.confserver {listen       80;listen       [::]:80;server_name  _;# root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;if (-f $document_root/maintenance.enable) {return 503;}location / {root /usr/share/nginx/html;index index.html index.htm;try_files $uri $uri/ =404;}# 定义503错误页面error_page 503 @maintenance;location @maintenance {root /usr/share/nginx/html;rewrite ^(.*)$ /maintenance.jpg break;}error_page 404 /404.html;location = /404.html {}error_page 500 502  504 /50x.html;location = /50x.html {}}

配置的意思是,如果存在/usr/share/nginx/html/maintenance.enable文件,则所有请求都返回503服务不可用,并显示maintenance.jpg页面。

当你需要进行系统维护时,只需要在网站主目录下创建一个maintenance.enable文件即可 当维护结束,删除这个文件,即可恢复正常访问。

cat maintenance_start.sh 
#!/bin/bash
# 启动维护模式# 创建维护标志文件
touch /usr/share/nginx/html/maintenance.enable
echo "Maintenance mode started."cat  maintenance_stop.sh 
#!/bin/bash
# 停止维护模式 
# 删除维护标志文件
rm -rf  /usr/share/nginx/html/maintenance.enable
echo "Maintenance mode stoped."

 这里提供一种相对友好的处理方式,仅供参考。

http://www.lryc.cn/news/254810.html

相关文章:

  • Python作业答疑
  • 计算机网络实用工具之Hydra
  • AUTOSAR 入门
  • 新版IDEA中,module模块无法被识别,类全部变成咖啡杯无法被识
  • vue.js el-table 动态单元格列合并
  • word模板导出word文件
  • debianubuntu的nvidia驱动升级
  • 【开源视频联动物联网平台】视频接入网关的用法
  • 【bug排查解决】现象级延迟8-10s
  • 【人生感悟】不能对一个人太好是有心理学原理的
  • 动态规划学习——最长回文子序列,让字符串变成回文串的最小插入次数
  • CSS新手入门笔记整理:CSS列表样式
  • 12月07日,每日信息差
  • spring mvc理解
  • HTML-标签之文字排版、图片、链接、音视频
  • 圣诞将至—C语言圣诞树代码来啦
  • Git常用命令#merge分支合并
  • Windows server 2019 域环境部署
  • Cocos Creator加入图片没有被识别
  • java double类型保留两位小数并去除后面多余的0
  • C++学习寄录(九.多态)
  • 【Linux基础开发工具】yum生态vim的配置与使用
  • java-HashMap、TreeMap、LinkedHashMap、ArrayList、LinkedList使用笔记
  • Oracle中mybatis批量更新报错ORA-00933:SQL命令未正确结束
  • Mysql综合案例练习<1>
  • Linux系统编程:线程总结
  • activemq启动成功但web管理页面却无法访问
  • 【Flink on k8s】- 0 - Flink kubernetes operator 快速入门与实战
  • 毕设:《基于hive的音乐数据分析系统的设计与实现》
  • PHP使用HTTP代码示例模板