评论

收藏

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

web服务器 web服务器 发布于:2021-08-11 10:16 | 阅读数:345 | 评论:0

简介
基于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服务之间的切换
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/yloved/p/11557385.html

关注下面的标签,发现更多相似文章