search
HomeOperation and MaintenanceNginxHow to configure Nginx load balancing multiple tomcats under Linux

One: Enter the conf directory under the nginx directory

This is my nginx installation directory:

[root@aliserver ~]# cd /usr/local/nginx/conf

Two: Edit nginx.conf

How to configure Nginx load balancing multiple tomcats under Linux

[root@aliserver conf]# vi nginx.conf

Three: Configure server group

1: Add upstream configuration between http{} nodes. (Be careful not to write localhost, otherwise the access speed will be very slow)

upstream nginxdemo {
  server 127.0.0.1:8081;  #服务器地址1
  server 127.0.0.1:8082;  #服务器地址2
  server 127.0.0.1:8082;  #服务器地址3
  server 127.0.0.1:8083;  #服务器地址4
}

2: Modify the port number that nginx listens to 80

nginx default port is 80, I have not changed it here yet. Remain unchanged

server {
  listen    80;   #默认是80,也可更改为其他的,当然已被占用的端口号不能写。
  ......
}

3: Use proxy_pass to configure the reverse proxy address

In location\{}, "http://" cannot be missing here, and the following address must be the same as In the first step, the name defined by upstream should be consistent (that is, the name of nginxdemo is customized and needs to be consistent in both places)

location / {
      root  html;
      index index.html index.htm;
      proxy_pass http://nginxdemo; #配置方向代理地址
    }

After the configuration is completed, as shown in the figure:

How to configure Nginx load balancing multiple tomcats under Linux

Four: Start nginx

My installation path of nginx is /usr/local/nginx

So my startup command Yes:

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

Because nginx has been started before installation, and now it reports an error that the port number is occupied when it is started again

How to configure Nginx load balancing multiple tomcats under Linux

At this time we use Command to check the occupancy of each port number

[root@aliserver ~]# netstat -ntpl

How to configure Nginx load balancing multiple tomcats under Linux

We see that nginx is occupied by the pid 9097, use kill -9 to kill it

[root@aliserver ~]# kill -9 9097

Start it again nginx

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

has no response, that’s right. At this time, enter your server address

How to configure Nginx load balancing multiple tomcats under Linux

in the browser, indicating that nginx started successfully. As for whether the configuration is correct and whether the load can be balanced, let's start verifying it now. . .

5: Verification

We all know that when nginx load balancing, all client requests go through nginx, then nginx can decide who to forward these requests to. If Server A has more sufficient resources (more CPUs, larger memory, etc.), and Server B does not have as strong a processing capability as Server A. Then nginx will forward more requests to Server A and fewer requests to Server B, so that This achieves load balancing, and even if one of the servers is down, users can still access the website normally.

Before verification, you need to make some preparations.

1: Prepare a simpler jsp, such as:

How to configure Nginx load balancing multiple tomcats under Linux

I have 4 tomcats installed on a server, so I prepared The four index.jsp files

are

<title>tomcat8080<title> <h1 id="hellow-nbsp-tomcat">hellow tomcat_8080</h1>
<title>tomcat8081<title> <h1 id="hellow-nbsp-tomcat">hellow tomcat_8081</h1>
<title>tomcat8082<title> <h1 id="hellow-nbsp-tomcat">hellow tomcat_8082</h1>
<title>tomcat8083<title> <h1 id="hellow-nbsp-tomcat">hellow tomcat_8083</h1>

. What needs to be noted here is: the name of the jsp file must be index.jsp, because the picture of tomcat starting successfully is as shown in the figure:

How to configure Nginx load balancing multiple tomcats under Linux

Reading is webapps/root/index.jsp in the tomcat installation directory

My address is:/usr/java/tomcat/tomcat_8080/ webapps/root

How to configure Nginx load balancing multiple tomcats under Linux

Overwrite each tomcat's default index.jsp file with the four previously prepared index.jsp files.

Start each tomcat

[root@aliserver bin]# ./startup.sh

At this time, we enter xxx.xxx.xx.xx:8080 in the browser. You will find that the kitten no longer appears, but. . . . . .

How to configure Nginx load balancing multiple tomcats under Linux

How to configure Nginx load balancing multiple tomcats under Linux

How to configure Nginx load balancing multiple tomcats under Linux

How to configure Nginx load balancing multiple tomcats under Linux

#4 tomcats have all started successfully, and nginx has also started successfully.

At this time, enter your server IP in the browser and keep refreshing the page. You will find that the page will display 8080 for a while, 8081 for a while, 8082 for a while, and 8083 for a while. Of course, this It is nginx that determines where the request goes based on which server has more resources. The address of our request in the browser remains unchanged, but we access a different tomcat server. This means that nginx is configured successfully.

The above is the detailed content of How to configure Nginx load balancing multiple tomcats under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
The Advantages of NGINX: Speed, Efficiency, and ControlThe Advantages of NGINX: Speed, Efficiency, and ControlMay 12, 2025 am 12:13 AM

The reason why NGINX is popular is its advantages in speed, efficiency and control. 1) Speed: Adopt asynchronous and non-blocking processing, supports high concurrent connections, and has strong static file service capabilities. 2) Efficiency: Low memory usage and powerful load balancing function. 3) Control: Through flexible configuration file management behavior, modular design facilitates expansion.

NGINX vs. Apache: Community, Support, and ResourcesNGINX vs. Apache: Community, Support, and ResourcesMay 11, 2025 am 12:19 AM

The differences between NGINX and Apache in terms of community, support and resources are as follows: 1. Although the NGINX community is small, it is active and professional, and official support provides advanced features and professional services through NGINXPlus. 2.Apache has a huge and active community, and official support is mainly provided through rich documentation and community resources.

NGINX Unit: An Introduction to the Application ServerNGINX Unit: An Introduction to the Application ServerMay 10, 2025 am 12:17 AM

NGINXUnit is an open source application server that supports a variety of programming languages ​​and frameworks, such as Python, PHP, Java, Go, etc. 1. It supports dynamic configuration and can adjust application configuration without restarting the server. 2.NGINXUnit supports multi-language applications, simplifying the management of multi-language environments. 3. With configuration files, you can easily deploy and manage applications, such as running Python and PHP applications. 4. It also supports advanced configurations such as routing and load balancing to help manage and scale applications.

Using NGINX: Optimizing Website Performance and ReliabilityUsing NGINX: Optimizing Website Performance and ReliabilityMay 09, 2025 am 12:19 AM

NGINX can improve website performance and reliability by: 1. Process static content as a web server; 2. forward requests as a reverse proxy server; 3. allocate requests as a load balancer; 4. Reduce backend pressure as a cache server. NGINX can significantly improve website performance through configuration optimizations such as enabling Gzip compression and adjusting connection pooling.

NGINX's Purpose: Serving Web Content and MoreNGINX's Purpose: Serving Web Content and MoreMay 08, 2025 am 12:07 AM

NGINXserveswebcontentandactsasareverseproxy,loadbalancer,andmore.1)ItefficientlyservesstaticcontentlikeHTMLandimages.2)Itfunctionsasareverseproxyandloadbalancer,distributingtrafficacrossservers.3)NGINXenhancesperformancethroughcaching.4)Itofferssecur

NGINX Unit: Streamlining Application DeploymentNGINX Unit: Streamlining Application DeploymentMay 07, 2025 am 12:08 AM

NGINXUnit simplifies application deployment with dynamic configuration and multilingual support. 1) Dynamic configuration can be modified without restarting the server. 2) Supports multiple programming languages, such as Python, PHP, and Java. 3) Adopt asynchronous non-blocking I/O model to improve high concurrency processing performance.

NGINX's Impact: Web Servers and BeyondNGINX's Impact: Web Servers and BeyondMay 06, 2025 am 12:05 AM

NGINX initially solved the C10K problem and has now developed into an all-rounder who handles load balancing, reverse proxying and API gateways. 1) It is well-known for event-driven and non-blocking architectures and is suitable for high concurrency. 2) NGINX can be used as an HTTP and reverse proxy server, supporting IMAP/POP3. 3) Its working principle is based on event-driven and asynchronous I/O models, improving performance. 4) Basic usage includes configuring virtual hosts and load balancing, and advanced usage involves complex load balancing and caching strategies. 5) Common errors include configuration syntax errors and permission issues, and debugging skills include using nginx-t command and stub_status module. 6) Performance optimization suggestions include adjusting worker parameters, using gzip compression and

Nginx Troubleshooting: Diagnosing and Resolving Common ErrorsNginx Troubleshooting: Diagnosing and Resolving Common ErrorsMay 05, 2025 am 12:09 AM

Diagnosis and solutions for common errors of Nginx include: 1. View log files, 2. Adjust configuration files, 3. Optimize performance. By analyzing logs, adjusting timeout settings and optimizing cache and load balancing, errors such as 404, 502, 504 can be effectively resolved to improve website stability and performance.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool