nginx 一键切换停机维护页面 —— 筑梦之路
2023-12-15 03:45:40
背景说明
进行停机维护或者系统升级等操作,会影响到用户使用,如果停机维护期间用户未看到停机维护的通知,仍去访问系统,会提示默认不太友好的访问错误界面 ,这时如果在维护的时候直接展示停机公告的具体信息,会减少用户的误解。
如何实现
在 Nginx 中,可以设置一个特定的页面来作为"停机维护"或"系统升级"的页面。假设你的停机维护页面为maintenance.html或者maintenance.jpg,并且它位于你的网站主目录的/usr/share/nginx/html中。
首先,你需要在 Nginx 的配置文件中,通常是/etc/nginx/nginx.conf,找到需要配置维护页面的 server 块。
cat /etc/nginx/nginx.conf
server {
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."
?这里提供一种相对友好的处理方式,仅供参考。
文章来源:https://blog.csdn.net/qq_34777982/article/details/134866952
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!