一个域名,无任何变化,实现新旧版本的无缝切换

常规操作:

加一个路径,作为新版本的访问方式,配置nginx实现

nginx 的location目录增加 /new的配置,直接代理到新版本;

旧版直接通过域名访问;eg:www.test.com

新版通过域名+/new访问:eg:www.test.com/new

server {
    listen 6600;

    location ~ /new{
        root /myworkbase/project_new/dist;
    }
}

神仙操作:

1、新旧版本的切换设置cookie,通过isNew来进行标记

2、nginx中获取标记的方式$cookie_isNew;

3、默认进入旧版,旧版访问方式:www.test.com;

神奇的一幕发生了,你点击进入新版,新版的域名还是www.test.com,而且域名后边也没有二级目录,展示的效果就是新版,是不是很惊喜呢

 server {
        listen       6610;
        server_name  localhost;
		location / {
		   # isNew不等于1的时候就默认用老版本
		   if ( $cookie_isNew != "1" ) {
				root E:/gps-web-en-newEdition/build;
           }
		   # isNew等于1就加载新版本
           if ( $cookie_isNew = "1" ) {
             root E:/code/wanwaygps-web/dist;
           }
		   # 因为新版本里面没有indexv2.html所有放到最前面,不然老版本会加载index.html
           index indexv2.html index.html;
		}
}

你可能感兴趣的:(技术使用,nginx,nginx,运维)