CentOS7实现Nginx+Tomcat 负载均衡

0. 说明

将nginx作为负载均衡器,反向代理,tomcat作为节点服务器
192.168.100.201:nginx服务器
192.168.100.202:Tomcat 1服务器
192.168.100.203:Tomcat 2服务器

1. 软件

存放路径:/usr/local/src
apache-tomcat-9.0.22.tar.gz
openjdk-12_linux-x64_bin.tar.gz
openresty-1.15.8.1.tar.gz

2.事先配置

启动后关闭防火墙,关闭selinux

3.配置java

3.1 解压缩到指定目录并重命名

tar -zxv -f openjdk-12_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local/
mv jdk-12/ java

3.2 建立java.sh脚本

cd /etc/profile.d/
vim java.sh
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

3.3 java.sh脚本导入到环境变量,使其生效

source java.sh

3.4 查看版本

java -version

4.安装nginx

4.1 nginx配置文件

http {
    ......
    upstream tomcat_server { 
        server 192.168.100.201:8080 weight=1;
        server 192.168.100.221:8080 weight=1;   
    }
    server {
        listen  80;
        .....
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;
        }
    }
}

检测配置文件,启动服务

5. 配置tomcat

5.1 解压缩到指定目录并重命名

tar -zxv -f apache-tomcat-9.0.22.tar.gz -C /usr/local/
cd /usr/local/
mv apache-tomcat-9.0.22/ tomcat9

5.2 新建站点文件

mkdir -p /web/webapp1 
vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
    <title>JSP test1 page</title>
</head>
<body>
  <% out.println("Welcome to test1 site);%>   #这里是站点内容,Tomcat2可改变一下
</body>
</html>

5.3 修改主配置文件

vim /usr/local/tomcat7/conf/server.xml
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false"> </Context>    #添加访问路径

5.4 启动tomcat

# /usr/local/tomcat9/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat9
Using CATALINA_HOME:   /usr/local/tomcat9
Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
Tomcat started.

检查端口

# netstat -ntap | grep 8080

5.5 访问

打开浏览器,输入地址:http://ip:8080

5.6 关闭tomcat

# /usr/local/tomcat9/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat9
Using CATALINA_HOME:   /usr/local/tomcat9
Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED

另一台tomcat配置类似,只需要修改站点显示内容即可.

6. 需要完善的地方

默认情况下,Tomcat会监听8080端口,Tomcat监听了所有的IP协议的所有IP地址的8080端口。
只想让Tomcat监听传统意义上的本地127.0.0.1的IP地址:
增加address参数即可,同时修改一下nginx相关配置文件

<Connector port="8080" address="127.0.0.1" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />

tomcat端口信息:
8005端口是用来关闭tomcat服务的端口
连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器

关闭指令端口:8005
http端口:8080
https端口:8443
Ajp端口:8009

原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/11341345.html