nginx+tomcat for dynamic-static separation+load balancing

1. Introduction to static-dynamic separation and load balancing Dynamic and Static Separation of Nginx+Tomcat:The so-called dynamic-static separation...
1. Introduction to static-dynamic separation and load balancing
2. Specific steps

1. Introduction to static-dynamic separation and load balancing

Dynamic and Static Separation of Nginx+Tomcat:
The so-called dynamic-static separation is to process static files such as pictures, html, etc. requested by clients through nginx (or apache, etc.), and dynamic files such as jsp, do, etc. by Tomcat (or weblogic), so as to achieve dynamic and static page access through different containers.Nginx is much more efficient at handling static pages than tomcat, which is good at dynamic page processing, which can improve concurrency and processing performance.

Load balancing for Nginx+Tomcat:
In a server cluster, Nginx acts as a proxy server (i.e., a reverse proxy). To avoid excessive pressure on a single server, requests from users are forwarded to different servers. tomcat handles user requests forwarded by nginx

2. Specific steps

1. Introduction to the environment

Name role address centos7-1 nginx 192.168.142.153 centos7-2 Tomcat 192.168.142.154 centos7-3 Tomcat 192.168.142.132 win7 Client Not important (the same segment is fine)

Purpose:

When accessing the server, static pages are processed by the nginx server and dynamic pages are processed by tomcat

2. Tomcat configuration (same configuration on both Tomcat sides)

Install jdk environment package

[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm [root@localhost tomcat]# cd /usr/java/jdk1.8.0_201-amd64/

Modify Global Profile

[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile //Last Line Add export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH [root@localhost jdk1.8.0_201-amd64]# source /etc/profile [root@localhost jdk1.8.0_201-amd64]# cd /mnt/tomcat/

Install Tomcat software Ontology

[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/ [root@localhost tomcat]# cd /usr/local/ [root@localhost local]# mv apache-tomcat-9.0.16/ tomcat

Establish start/stop soft links

[root@localhost local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/ [root@localhost local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/ //Turn on services, turn off firewalls [root@localhost local]# startup.sh [root@localhost local]# systemctl stop firewalld.service [root@localhost local]# setenforce 0

Create Tomcat Home Page

[root@tomcat1 local]# mkdir -p /web/webapp1 #Set up a site [root@tomcat1 local]# vim /web/webapp1/index.jsp #New Tomcat Home Page <%@ page language= "java" import="java.util.*" pageEncoding="UTF-8" %> <html> <head> <title>JSP test1 page</title> </head> <body> <% out.println("Welcome to test site, http://www.testl.com" );%> </body> </html>

Specify in configuration file

[root@tomcat1 local]# cd /usr/local/tomcat/conf/ [root@tomcat1 conf]# vim server.xml ##149 row inserts <Context docBase="/web/webapp1" path="" reloadable="false"> </Context> //Notes: //DocBase: Document base directory for web applications //The reloadable setting monitors whether the Class changes //path="" Sets the default "" class //Restart Service [root@tomcat1 conf]# shutdown.sh [root@tomcat1 conf]# startup.sh

3. Nginx Configuration

Install Environment Package

[root@nginx ~]# yum -y install gcc gcc-c++ zlib-devel expat-devel pcre-devel pcre openssl-devel

Install nginx software Ontology

[root@nginx mnt]# cd /opt/nginx-1.12.0/ [root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx [root@nginx nginx-1.12.0]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx --group=nginx \ --with-file-aio \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_flv_module \ --with-http_ssl_module [root@nginx nginx-1.12.0]# make && make install

At this point, nginx will be combined with Tomcat in three different directions, and I'll explain each one here as well.

(1) nginx only performs load balancing and does not provide web services

[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf //Add after gzip upstream tomcat-server { //Address pool name server 192.168.142.154:8080 weight=1; //Point to Tomcat address, poll, weight equal server 192.168.142.132:8080 weight=1; } //Add after location/segment proxy_pass http://tomcat-server; //Proxy points to Tomcat address pool (previously specified)

(2) When nginx is only used for static and dynamic separation

[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf //Add after server segment location ~ (. *). jsp$ { proxy_pass http://192.168.142.132:8080; //Automatically proxy to Tomcat server when nginx encounters a web page ending in jsp proxy_set_header Host $host; }

(3) nginx carries out load balancing and reverse proxy simultaneously

[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf //Add after gzip upstream tomcat-server { //Address pool name server 192.168.142.154:8080 weight=1; //Point to Tomcat address, poll, weight equal server 192.168.142.132:8080 weight=1; } //Add after server segment location ~ (. *). jsp$ { proxy_pass http://tomcat-server; proxy_set_header Host $host; }

Open Service

[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ [root@nginx nginx-1.12.0]# nginx [root@nginx nginx-1.12.0]# systemctl stop firewalld.service [root@nginx nginx-1.12.0]# setenforce 0

22 December 2019, 22:28 | Views: 9617

Add new comment

For adding a comment, please log in
or create account

0 comments