草庐IT

灰度Nginx

全部标签

使用 KubeSphere 实现微服务的灰度发布

前言今天来说一说,在KubeSphere中两个"小姐姐"如何来回切换,这是什么意思哩?其实就是互联网产品中常用的灰度发布方式。互联网产品需要快速迭代上线,既要保证新功能运行正常,又要保证质量,一旦出现问题可以很快控制局面,就需要设计一套灰度发布系统。用大白话讲就是某个APP的新版本已经开发完成了,而老版本用户正在正常使用着,这个时候要是直接上线新版本,那么所有的用户都会用新版本,但是这种情况下,一旦出现问题,将导致所有的用户都不可用,所以会有策略的挑选一部分用户先用新版本,即使出现问题,也只是一小部分用户,方便回滚到旧版本,提升用户良好的体验性。概述灰度发布(又名金丝雀发布)是指在黑与白之间,

【基础篇】nginx域名解析、部署多个站点

nginx域名解析虚拟主机:简单来说,虚拟主机就是可以在一台nginx服务器上运行多个网站。nginx可以通过配置多个server来配置多台虚拟主机,一个server对应一台虚拟主机。一台虚拟主机上可以部署一个网站。各个虚拟主机的ip地址是相同的,但是一个ip可以绑定不同的域名,所以每台虚拟主机都可以拥有自己的域名和端口号,但是80端口只有一个,一般情况下,多台虚拟主机公用80端口,然后根据域名来区分客户端请求的到底是哪一台虚拟主机,哪一个网站。   配置虚拟主机可以基于端口号,IP和域名。1.基于端口号的虚拟机主机:nginx监听多个端口,根据不同的端口号;来区分不同的网站。2.基于域名的虚

二、nginx错误页面[error_page]

一、error_page1.跳转到指定页面解释:其原理是响应到错误代码后,导向指定的路由,然后再由指定的路由处理,如下当错误代码是404时,相当于访问http://localhost:80/50x.html,正好被内部传送给location=/50x.html让其来进行处理(需要注意必须有50x.html这个页面)error_page404403500/50x.html;location=/50x.html{root/usr/share/nginx/html;}2.跳转到指定网址解释:其原理是响应到错误代码后,302(临时重定向到目标网址),如下当错误代码为404时,导向https://www

Nginx精确匹配并跳转到指定路径

说明:1、根据研发要求,将/welcome页面跳转到指定页面/example2、请在Nginx配置文件server中配置3、请查阅如下图所示:https://xxxx/welcom——>https://xxxx/exampleserver{....location=/welcome/{rewrite^/examplepermanent;}....}说明:将所有精确匹配到/welcom的请求都重定向到/example这个路径下,并且以永久的方式进行重定向。

使用docker部署nginx并支持https

配置nginx支持https,其实也简单,搞个证书,然后修改下配置文件就好了。我以前一篇文章(使用docker部署多个nginx站点并配置负载均衡)为例,做个记录。如前所述,我使用docker,部署了3个nginx。一个做负载均衡服务器,另外两个做应用。结构如下:那么,支持https,也是在负载均衡这里进行设置。详细记录如下:一、制作证书反正docker跑在linux下,证书就在linux里制作了。1、安装opensslyuminstall-yopensslopenssl-devel2、制作密钥opensslgenrsa-outszdata.key20483、制作证书opensslreq-ne

nginx设置add_header失效 配置cors跨域失效无效的解决方案

希望对大家有帮助,有用的话记得点个赞评个论,让俺知道这个法子可以帮助到大家哟!(虽然我这个法子很野)起因最近在完成一个项目,后端API地址和前端地址不一致,这就涉及到了跨域的问题。由于服务端加了一层Nginx作为反代,所以很自然的想到要去.conf配置文件中加几句add_header:locationXXXX{#此处省略一万字#CORS配置add_header'Access-Control-Allow-Origin''*';add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS,PUT,DELETE';#是否允许cookie传输add

nginx报错 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

报错前所做操作今天重新优化nginx管理以后,检查配置文件是配置正确的,但启动nginx确报错了 解决思路报错显示nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)查看nginx的端口(nginx使用的端口为80) 发现可能是之前的nginx服务自己占用80端口,导致不能启动,把他的进程全部杀掉,再重启服务,就能成功了

nginx实现obs推流

一、准备软件nginx:1.20.2nginx-rtmp-module:1.2.2openssl:1_1_1h二、解压软件源文件进入nginx解压目录执行以下命令安装nginx ./configure--add-module=../nginx-rtmp-module-1.2.2--without-http_rewrite_module--with-openssl=../openssl-OpenSSL_1_1_1h 三、修改nginx配置文件默认配置文件路径 /usr/local/nginx/conf/nginx.confvim/usr/local/nginx/conf/nginx.conf  

Docker 安装 nginx 和 tomcat 并部署 es + kibana 和可视化(四)

一、Docker安装Nginx#1、搜索镜像[root@localhosthome]#dockersearchnginxNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDnginxOfficialbuildofNginx.18765[OK]#2、拉取镜像[root@localhosthome]#dockerpullnginxUsingdefaulttag:latestlatest:Pullingfromlibrary/nginxa2abf6c4d29d:Pullcompletea9edb18cadd1:Pullcomplete589b7251471a:Pullcompl

docker+nginx 安装部署修改资源目录配置文件和容器端口信息

查看docker镜像可以先查看docker下是否存在nginx镜像,使用如下这些命令查看:dockerimages:列出所有镜像。dockerimagesnginx:列出所有nginx镜像,不同版本等等。dockersearchnginx:搜索查看所有nginx镜像信息。拉取安装nginx镜像使用pull命令拉取nginx镜像:dockerpullnginx出现以下内容,等待下载完成即可:运行nginx下载完成nginx镜像后,就可以启动运行nginx了,使用如下命令:dockerrun-d--namenginx-p8080:80nginx部分说明如下:-d后台持续运行运行。--name自定义