Nginx使用反向代理实现负载均衡过程解析

Opal ·
更新时间:2024-09-21
· 601 次阅读

简介

基于docker容器以及docker-compose,所以需要自学docker在linux环境的基本使用

使用两个tomcat作为负载均衡的服务端

1.使用docker拉取tomcat和nginx镜像

拉取nginx参考

拉取tomcat参考

2.使用docker-compose创建两个tomcat服务

新建tomcat目录,在该目录下创建docker-compose.yml文件,输入如下内容:

version: '3' services: tomcat1: image: tomcat container_name: tomcat1 ports: - 9090:8080 tomcat2: image: tomcat container_name: tomcat2 ports: - 9091:8080

在该docker-compose.yml同一目录下运行如下命令启动容器(-d 表示后台运行)

docker-compose up -d

成功后查看docker容器列表

命令

docker ps

结果示例有tomcat1和tomcat2两个容器

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 271dd3610d1d tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9091->8080/tcp tomcat2 fa19d20f0022 tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9090->8080/tcp tomcat1

以交互的方式进入容器,修改首页内容,以便区分两个tomcat(下面已tomcat为例)

命令

docker exec -it fa19d20f0022 bash

向首页追加内容

echo "9090" >> webapps/ROOT/index.jsp

3.创建nginx服务

新建nginx目录,在该目录下创建docker-compose.yml文件,输入如下内容:

version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 81:80 volumes: - ./conf/nginx.conf:/etc/nginx/nginx.conf

由于docker-compose自动会将/conf/nginx.conf作为文件夹处理,所以需要在创建容器前,在nginx目录下,创建conf目录,在conf目录下,创建nginx.conf文件,并输入如下内容:

user nginx; worker_processes 1; events { worker_connections 1024; } http { upstream myapp1 { server [服务器ip]:9090 weight=10; server [服务器ip]:9091 weight=10; } server { listen 80; server_name [服务器ip]; location / { proxy_pass http://myapp1; } } }

在docker-compose.yml同一目录下运行

docker-compose up -d

4. 访问 [服务器ip]:81网址,多刷新几次,观察两个tomcat服务之间的切换

您可能感兴趣的文章:Nginx反向代理与负载均衡实战篇浅谈Nginx七层反向代理和负载均衡CentOS基于nginx反向代理实现负载均衡的方法利用Nginx反向代理与负载均衡搭建多人测试环境详解详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南windows安装nginx部署步骤图解(反向代理与负载均衡)nginx 作为反向代理实现负载均衡的例子



代理 反向代理 负载均衡 Nginx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号