Nginx uses reverse proxy to implement load balancing process analysis

Nginx uses reverse proxy to implement load balancing process analysis

Introduction

Based on docker container and docker-compose, you need to learn the basic use of docker in linux environment

Use two tomcat as load balancing servers

1. Use docker to pull tomcat and nginx images

Pull nginx reference

Pull tomcat reference

2. Use docker-compose to create two tomcat services

Create a new tomcat directory, create a docker-compose.yml file in the directory, and enter the following content:

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

  tomcat2:
    image: tomcat
    container_name: tomcat2
    ports:
      - 9091:8080

Run the following command in the same directory as the docker-compose.yml file to start the container (-d means running in the background)

docker-compose up -d

After success, check the docker container list

Order

docker ps

The result example has two containers, tomcat1 and 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

Enter the container interactively and modify the homepage content to distinguish between the two tomcats (tomcat is used as an example below)

Order

docker exec -it fa19d20f0022 bash

Add content to the homepage

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

3. Create nginx service

Create a new nginx directory, create a docker-compose.yml file in the directory, and enter the following content:

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

Because docker-compose automatically treats /conf/nginx.conf as a folder, you need to create a conf directory in the nginx directory before creating the container, and create an nginx.conf file in the conf directory and enter the following content:

user nginx;
worker_processes 1;

events {
 worker_connections 1024;
}

http {
 upstream myapp1 {
  server [server ip]:9090 weight=10;
  server [server ip]:9091 weight=10;
 }
 server {

  listen 80;
  server_name [server ip];
  location / {
   proxy_pass http://myapp1;
  }
 }
}

Run in the same directory as docker-compose.yml

docker-compose up -d

4. Visit [server ip]:81, refresh several times, and observe the switching between the two tomcat services.

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • How to implement Nginx reverse proxy and load balancing (based on Linux)
  • Nginx reverse proxy and load balancing practice
  • A brief discussion on Nginx seven-layer reverse proxy and load balancing
  • Detailed explanation of Nginx load balancing and reverse proxy configuration and optimization
  • Detailed Nginx reverse proxy and load balancing deployment guide
  • Detailed explanation of Nginx HTTP load balancing and reverse proxy configuration
  • Explanation of nginx load balancing and reverse proxy

<<:  JavaScript offset implements mouse coordinate acquisition and module dragging within the window

>>:  MySQL 5.7.24 installation and configuration method graphic tutorial

Recommend

10 very good CSS skills collection and sharing

Here, clever use of CSS techniques allows you to g...

Example code showing common graphic effects in CSS styles

Let me briefly describe some common basic graphic...

How to delete folders, files, and decompress commands on Linux servers

1. Delete folders Example: rm -rf /usr/java The /...

How to create a table by month in MySQL stored procedure

Without going into details, let's go straight...

Summary of some common techniques in front-end development

1. How to display the date on the right in the art...

Sample code for converting video using ffmpeg command line

Before starting the main text of this article, yo...

Use CSS variables to achieve cool and amazing floating effects

Recently, I found a fun hover animation from the ...

Python 3.7 installation tutorial for MacBook

The detailed process of installing python3.7.0 on...

Summary of Docker Consul container service updates and issues found

Table of contents 1. Container service update and...

What do CN2, GIA, CIA, BGP and IPLC mean?

What is CN2 line? CN2 stands for China Telecom Ne...

Web page HTML ordered list ol and unordered list ul

Lists for organizing data After learning so many ...

uniapp realizes the recording upload function

Table of contents uni-app Introduction HTML part ...

Related commands to completely uninstall nginx under ubuntu16.04

nginx Overview nginx is a free, open source, high...