1. 首页
  2. 技术知识

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

简介

基于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 -d4. 访问 [服务器ip]:81网址,多刷新几次,观察两个tomcat服务之间的切换

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持共生网络。

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/108388.html

联系我们