【开端】 进行页面升级或维护时不影响用户体验NGINX配置

news2024/9/24 5:29:18

一、绪论
  在网站管理中,经常需要进行页面升级或维护,而为了不影响用户体验,我们可以设置一个访问页面,在页面升级期间,用户访问网站时会直接跳转到该页面。本文将介绍如何设置访问页面进行升级,以确保用户的顺畅访问和良好体验。

二、NGINX配置

首先,创建一个包含维护信息的 HTML 文件,比如 maintenance.html

<!-- maintenance.html -->
<!DOCTYPE html>
<html>
<head>
    <title>维护通知</title>
</head>
<body>
    <h1>系统维护中</h1>
    <p>系统正在维护,敬请期待。</p>
</body>
</html>

接下来,配置 NGINX 使得所有请求都重定向到这个维护页面

# /etc/nginx/nginx.conf 或相应的 NGINX 配置文件
 
server {
    listen 80;
    server_name yourdomain.com;
 
    location / {
        # 重定向所有请求到维护页面
        return 503;
        rewrite ^(.*)$ /maintenance.html break;
    }
 
    location = /maintenance.html {
        # 维护页面的位置
        root /path/to/your/html/files;
        internal;
    }
}

# /etc/nginx/nginx.conf 或相应的 NGINX 配置文件
 
server {
    listen 80;
    server_name yourdomain.com;
 
    location / {
        # 重定向所有请求到维护页面
        return 503;
        rewrite ^(.*)$ /maintenance.html break;
    }
 
    location = /maintenance.html {
        # 维护页面的位置
        root /path/to/your/html/files;
        internal;
    }
}

三、nginx的其他配置

nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           # root   html;
           #index  index.html index.htm;x
           proxy_pass   http://127.0.0.1:9090;	#代理地址
           proxy_set_header  Host $host;
           proxy_set_header   X-real-ip $remote_addr;
           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


 #  HTTPS server配置
	server {
        listen       443 ssl;
        server_name  localhost;
        ssl			 on;	#开启SSL
        client_max_body_size   0; #设置 不限制 文件上传大小,默认为1M 
        charset utf-8;

        ssl_certificate      /usr/local/ca/local.crt;	#证书绝对路径
        ssl_certificate_key  /usr/local/ca/local.key;	#密钥绝对路径

        ssl_session_cache    shared:SSL:10m;	#设置会话缓存大小
        ssl_session_timeout  10m;	# 连接超时时间

        # ssl_ciphers  HIGH:!aNULL:!MD5;	#支持的算法,默认为OpenSSL的全部算法
        ssl_prefer_server_ciphers  on; #优先使用服务端的SSL密钥证书,默认为off 

	location / {
           proxy_pass   http://127.0.0.1:8080;
           proxy_set_header  Host $host;
           proxy_set_header   X-real-ip $remote_addr;
           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

}    

}

限制IP的频繁访问

http {

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=20r/s;//同一个IP每秒20次请求

}

http
{
  limit_req_zone $binary_remote_addr zone=mylimit:10m rate=20r/s;//同一个IP每秒20次请求
}

配置只能通过域名访问

server {

listen 80 default_server; server_name _; # _ 表示无效域名 location / {

return 403;

}

}

server {
    listen 80 default_server;	
    server_name _;	# _ 表示无效域名

    location / {
        return 403;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue(1)——创建实例

Vue创建实例 Vue是用于构建用户界面的渐进式框架。 创建Vue实例&#xff0c;初始化渲染 准备容器引包(开发版本/生产版本)创建Vue实例指定配置项&#xff0c;渲染数据 el指定挂载点 data提供数据 <!-- 准备容器 --><div id"app"><h1>{{msg}}<…

【论文阅读】Automatic Modulation Classification Based Deep Learning: A Review(2022)

摘要 Automatic Modulation Recognition&#xff08;自动调制识别&#xff09; (AMR) is a critical component of&#xff08;重要组成部分&#xff09; smart communication&#xff08;智能通信&#xff09; and it contributed&#xff08;促进了&#xff09; to the deve…

【中学教资科目二】04中学心理

04中学心理 第一节 认知过程1.1 注意的分类1.2 想象 第二节 学习概述以及知识的学习与技能的形成2.1 知识学习的分类2.2 分化和泛化2.3 强化理论 第三节 学习理论3.1 认知学习理论3.2 建构主义学习理论3.3 行为主义学习理论 第四节 学习心理4.1 奥苏贝尔成就动机分类4.2 学习迁…

【9月持续更新】国内ChatGPT-4o中文镜像网站整理~

以前我也是通过官网使用&#xff0c;但是经常被封号&#xff0c;就非常不方便&#xff0c;后来有朋友推荐国内工具&#xff0c;用了一阵之后&#xff0c;发现&#xff1a;稳定方便&#xff0c;用着也挺好的。 最新的 GPT-4o、4o mini&#xff0c;可搭配使用~ 1、 最新模型科普&…

ES6笔记总结:第四天(ES6完结)

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; node的模块化&#xff1a; 1.CommonJS 规范&#xff1a;Node.js 遵循 CommonJS 模块规范&#xff0c;该规范定义了如何在服务器环境中实现模块化&#xff0c;包括如何定义模块、如何引入和使用模块。 2.模块的定义&…

最新网站服务器CC压力测试系统源码

最新网站服务器CC压力测试系统源码 前后端全开源 一款可测压的系统&#xff0c;但不提供接口。 环境&#xff1a;php7.3 mysql5.6 Apache 2.4.53 上传后解压 访问域名/install进行安装 后台地址&#xff1a;域名/admin 账号&#xff1a;admin 密码&#xff1a;admin 代…

护眼落地灯十大品牌排行榜:十大口碑一流护眼大路灯汇总

十大护眼落地灯品牌哪个牌子好&#xff1f;孩子在读写时经常出现揉眼睛以及眼睛酸痛等现象&#xff0c;多半是因不良光线引起的&#xff0c;光线频闪、发光不均以及太暗太亮都会对眼睛有伤害&#xff0c;而想要改善室内光线环境&#xff0c;护眼大路灯就可以起到改善室内光线环…

JavaScript计算问题

项目场景&#xff1a; 使用JavaScript做 算数运算&#xff0c;比较大小时&#xff0c;没有区分数据类型&#xff0c;导致错误 问题描述 为什么这个数学运算&#xff0c;没有按照我的预期去执行呢&#xff1f; "123" > 123 //false 123 > 123 //false&…

Oracle taf高级特性使用

0、taf介绍 TAF是Oracle数据库提供的一个高级特性&#xff0c;旨在实现应用程序在数据库连接中断时的透明重连。它允许应用程序在数据库故障发生时&#xff0c;无需修改代码或手动干预&#xff0c;就能自动连接到新的数据库实例&#xff0c;保证了事务的连续性和应用的高可用性…

什么是稀土高阻隔剂?

高阻隔性能粉末稀土是一种具有特殊性能的材料。金士镧高阻隔剂采用稀土定向生长技术与高温高压工艺相结合&#xff0c;对不同尺度的稀土材料进行规整度控制&#xff0c;获得具有结构紧密、耐强酸强碱、耐高温、低吸油的高强度稀土粉体。该稀土粉体可应用于耐高温、补强、阻隔需…

易基因:Exp Mol Med:ChIP-seq等揭示Foxo1-YAP-Notch1轴在疾病进展中的表观调控作用——重编程STING介导的先天免疫

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 非酒精性脂肪性肝炎&#xff08;nonalcoholic steatohepatitis&#xff0c;NASH&#xff09;是一种慢性肝脏疾病&#xff0c;其特征是肝脏中脂肪积累、炎症和纤维化。干扰素基因刺激因子…

windows安装Carla

1.下载Carla&#xff1a; Releases carla-simulator/carla GitHub 下载windows版本的&#xff0c;ubuntu版本的navidia driver有问题&#xff0c;还没搞定&#xff0c;就先用windows版本吧。 2.把地图解压出来&#xff0c;放到下图所示的地方&#xff0c;启动的时候carla会…

go 使用 gitlab 搭建私有化模块系统

背景 本教程旨在教大家使用私有化部署的 gitlab 作为 go 的代码共享库&#xff0c;帮助团队分离代码模块&#xff0c;加强质量管控。go 官方在实现过程中就高度结合 VCS 系统&#xff0c; 可以仅通过配置相关的环境变量就实现私有库在 VCS 上的搭建。 代码分离样例 这里直接…

QT安装步骤

1、下载 打开下载链接&#xff1a; Index of /official_releases/online_installers页面下载在线安装工具 选择下载 qt-unified-windows-x64-online.exe&#xff0c;等下载完毕后直接运行即可 2、安装 下一步 下一步 选择安装目录&#xff0c;下一步&#xff0c;进入选择安装…

GalaChain 全面剖析:为 Web3 游戏和娱乐而生的创新区块链

作者&#xff1a;Stella L (stellafootprint.network) 原文首发于 CoinGecko Footprint Analytics 专栏。 什么是 GalaChain? GalaChain 是一款专为娱乐领域打造但具备广泛适用性的 Layer 1 区块链&#xff0c;由 Gala 构建&#xff0c;旨在支撑其日益扩张的娱乐生态系统。…

吴恩达辞任Landing AI CEO,专注AI投资?数学家斯蒂芬预言哲学家引领AI未来|AI日报

文章推荐 与人类产生情感共鸣&#xff1f;数字华夏推出“夏澜”人形机器人&#xff1b;微软Azure AI语音服务推出虚拟人形象&#xff5c;AI日报 码上报名丨大模型论坛&#xff0c;热议技术创造力与应用想象力 今日热点 国内首家人工智能标准化研究机构&#xff0c;北京人工…

Ubuntu下部署Hadoop集群+Hive(四)

更换为Tez计算引擎 准备环境&#xff1a; apache-tez-0.10.3-bin.tar.gz 下载地址&#xff1a;Index of /apache/tez (tsinghua.edu.cn) 步骤&#xff1a; 1.将apache-tez-0.10.3-bin.tar.gz包上传到安装hive的节点服务器&#xff0c;放到/opt/software目录下&#xff1b;…

Java实现UDP通信

文章目录 UDP 通信的基本概念Java 中的 UDP 编程入门例子实时通信和多发多收 UDP 通信的基本概念 无连接&#xff1a;UDP是一种无连接协议&#xff0c;发送数据之前不需要建立连接。不可靠&#xff1a;UDP不保证数据包的可靠传输&#xff0c;数据包可能会丢失。轻量级&#xf…

AI驱动下的协作经济模式可能性

人工智能 &#xff08;AI&#xff09; 已经变得无处不在&#xff0c;从我们醒来的那一刻到我们入睡的那一刻&#xff0c;它悄无声息地塑造着我们的日常体验。它策划我们的新闻提要&#xff0c;推荐我们的娱乐节目&#xff0c;甚至影响我们的财务决策。 随着 AI 覆盖范围的扩大&…

一、创建项目

项目中使用dotween插件&#xff1b; 一、建立预制体 首先创建一个空物体和一个父物体&#xff1b;在子物体身上挂载SpriteRenderer&#xff1b;父物体身上挂载代码和2D碰撞器 二、建立数据类集合&#xff08;ScriptObject&#xff09; 引用命名空间&#xff1b;创建数据类的…