【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用

这篇具有很好参考价值的文章主要介绍了【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Docker下部署多个Nginx进行负载均衡,我这次实操的思路是使用三个Nginx。其中一个Nginx起负载均衡的作用,叫做nginx-lb,单独一个配置文件。另外2个Nginx起真正的转发作用,叫做nginx1nginx2,他们共享同一个配置文件,思路图如下。

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡

接下来我们直接进行实操演示。

下载Nginx
docker pull nginx:1.20
复制出配置文件
第一步:启动容器
root@735aa48ca36e:/# docker run -d --name test-nginx nginx:1.20

第二步:复制配置到宿主机

#复制文件出来到宿主机
docker cp test-nginx:/etc/nginx/ /home/nginx/
docker cp test-nginx:/var/log/nginx /home/nginx/nginx/logs
#专门再复制一份出来给nginx-lb使用
docker cp test-nginx:/etc/nginx/ /home/nginx/lb
修改配置
nginx-lb里的nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}




http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	
	#重点以下配置
	upstream nginx-lb{
	   server 192.168.40.128:10086; #nginx1
	   server 192.168.40.128:10010; #nginx2
    }
	
	server {
		listen       80;
		listen  [::]:80;
		server_name  localhost;

		#access_log  /var/log/nginx/host.access.log  main;

		location / {
			proxy_pass http://nginx-lb; #负载到nginx1 和 nginx2 上
		}

		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/share/nginx/html;
		}
	}
	

    #include /etc/nginx/conf.d/*.conf;
}

启动容器
启动nginx1
docker run -d --name nginx1 -v /home/nginx/nginx:/etc/nginx -p 10086:80 nginx:1.20
启动nginx2
docker run -d --name nginx2 -v /home/nginx/nginx:/etc/nginx -p 10010:80 nginx:1.20
启动nginx-lb
docker run -d --name nginx-lb  -v /home/nginx/lb:/etc/nginx -p 10000:80 nginx:1.20
演示效果

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡

停止掉其中一个nginx

docker stop nginx1

继续访问http://192.168.40.128:10000,发现还是正常。

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡

继续停掉另一个nginx

docker stop nginx2

这时候访问,会发现提示不支持服务了。

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡

我们再重新启动其中一个nginx

docker start nginx1

发现服务又正常了!!!
【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用,docker,nginx,负载均衡文章来源地址https://www.toymoban.com/news/detail-793676.html

到了这里,关于【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx+Tomcat实现负载均衡、动静分离集群部署

    1、安装好JDK 2、安装tomcat 3、配置tomcat环境变量 4、修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号 5、修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量 6、启动各tomcat中的/bin/startup.sh 7、浏览器访问测试 1、Nginx应用 Nginx是一款非常优秀的

    2024年02月08日
    浏览(90)
  • 使用nginx+docker实现一个简单的负载均衡

    目录 前言  提出需求 开始 启动nginx 启动一个Django容器 部署多台服务器 1.打包一个容器  2.开启多台服务 3.在各个容器中启动django项目  配置nginx文件实现反向代理和负载均衡 检验 配置负载均衡的其他方法 1.轮询(默认) 2.加权轮询算法 3.ip_hash算法 4.最少连接数算法 5.url_

    2023年04月14日
    浏览(35)
  • Nginx使用场景&&Nginx基础&&Nginx的负载均衡策略&&Nginx配置文件&&Nginx+Tomcat集群示例&&Nginx部署静态网站&&根据Tomcat容器实际IP修改Nginx配置

    目录 1. Nginx使用场景 2. Nginx中的进程 2.1 Nginx中的多进程模型 2.2 多进程模式的优点: 2.3 缓存 3. Ngnix的负载均衡策略 3.1 轮询法 3.2 加权轮询 3.3 原地址哈希 3.4 最小连接数法 3.5 Fair 3.6 url_hash 3. Nginx配置文件 4. Nginx+tomcat 集群示例 4.1 下载镜像 4.2 在宿主机中创建需要挂载的目录

    2024年02月04日
    浏览(51)
  • 【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    本文将要讨论以下内容 正向代理与反向代理的基本概念 Nginx正向代理服务的配置指令、Nginx反向代理服务的配置指令 Nginx反向代理服务器的应用——负载均衡、故障转移 案例分析   正向代理的概念 局域网内的机器借助代理服务访问局域网外的网站,此代理服务器提供的服务

    2024年01月24日
    浏览(50)
  • 简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡

    1、在安装好jdk环境后,添加两例Tomcat服务 2.添加tomcat环境变量 3.修改 tomcat1 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 (1) (2) (3) 4.修改两个 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量 (1) (2) 5.启动两例 tomcat 运行各自的

    2024年02月12日
    浏览(34)
  • nginx连接前后端分离项目 或 负载均衡映射多个服务器

    nginx的两种用法: 打通前后端项目,前后端分离的项目,通过nginx建立连接 负载均衡,一台机器请求转发至多个服务器 前端项目中的配置: 后端项目的ip和端口号就是正常的 下面看看nginx的配置文件: 将打包后的前端项目放这里: vue项目打包后会生成一个dist文件夹 放在服

    2024年02月05日
    浏览(60)
  • Nginx反向代理配置+负载均衡集群部署

    什么是代理 正向代理既是通过代理服务器访问外网资源,而反向代理与之相反是将局域网的资源通过反向代理服务器提供给互联网用户浏览和使用等。 实验环境图 流量过程 当客户端发起请求后通过Internet (本实验为NAT网卡)来到代理服务器上,代理服务器经算法选择后调用

    2024年02月13日
    浏览(39)
  • Nginx搭载负载均衡及前端项目部署

    目录 ​编辑 一.Nginx安装 1.安装所需依赖 2.下载并解压Nginx安装包 3.安装nginx 4.启动Nginx服务 二.Tomcat负载均衡  1.准备环境 1.1 准备两个Tomcat  1.2 修改端口号 1.3 配置Nginx服务器集群 2.效果展示 ​编辑三.前端项目打包 ​编辑四.前端项目部署 1.上传项目  2.修改代理服务器 3. 配

    2024年02月06日
    浏览(45)
  • 【Nginx】静态资源部署、反向代理、负载均衡

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ nginx配置文件整体分为三部分: 全局块 :Nginx运行相关的全局配置 events块 :网络连接相关的配置 http块 :代

    2024年02月13日
    浏览(46)
  • 【Linux】在Ubuntu下部署nginx——nginx的负载均衡

    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包