Nginx部署热更新

简介: Nginx部署热更新

提示

由于时间关系,原因以及理论就不在过多的赘述了,上解决方案


Nginx配置

server {
  listen 80;
  server_name vue.example.com;
  return 301 https://vue.example.com$request_uri;
}
server {
  listen 443 ssl;
  server_name vue.example.com;
  ssl_certificate /home/ubuntu/certs/T.yun-ran.com/public.crt;
  ssl_certificate_key /home/ubuntu/certs/T.yun-ran.com/private.key;
  root /home/ubuntu/code/cloud/admin/dist;
  index index.html;
  location / {
    try_files $uri $uri/ /index.html;           
    if ($request_filename ~* ^.*?.(html|htm)$){
      add_header Cache-Control no-cache,no-store,must-revalidate;
    }
  }
}点击复制复制失败已复制


Vue 中检测代码

import axios from 'axios';
import md5 from 'md5';
const AppHashKey = 'app_hash';
/** 检查应用是否有更新 */
export const checkUpdate = () => {
    if (process.env.NODE_ENV !== 'production') return;
    const url = window.location.origin + '/index.html?hash=' + md5(Math.random().toString());
    axios
        .get(url)
        .then(({
            data
        }) => {
            if (md5(data) !== localStorage.getItem(AppHashKey)) {
                localStorage.setItem(AppHashKey, md5(data));
                window.location.reload();
            }
        })
        .catch(err => console.error(err));
};点击复制复制失败已复制


实践方式

前置路由守卫处调用。


方案不足

简单确实是简单,但是会造成过多的请求 index.html 文件,资源会占用比较多。


目标

方案优化持续进行中……

目录
相关文章
|
7天前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
5天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
29天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
27天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
2月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
89 2
|
2月前
|
关系型数据库 应用服务中间件 PHP
如何在 Ubuntu 16.04 上使用 Nginx 部署 Laravel 应用
如何在 Ubuntu 16.04 上使用 Nginx 部署 Laravel 应用
20 1
|
2月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
|
2月前
|
Java 应用服务中间件 nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
|
2月前
|
JavaScript 应用服务中间件 nginx
如何使用 Systemd 和 Nginx 部署 Node.js 应用程序
如何使用 Systemd 和 Nginx 部署 Node.js 应用程序
41 0
|
2月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
30 0