Nginx与Tomcat负载均衡集群配置指南

目录

一、资源清单

二、基础环境

三、安装配置Tomcat

四、安装配置Nginx


一、资源清单

|-------------|--------------------|--------------------|
| 主机 | 操作系统 | IP地址 |
| tomcat1 | OpenEuler24.03 | 192.168.16.142 |
| tomcat2 | OpenEuler24.03 | 192.168.16.143 |
| Nginx | OpenEuler24.03 | 192.168.16.144 |

二、基础环境

bash 复制代码
hostnamectl set-hostname tomcat1
hostnamectl set-hostname tomcat2
hostnamectl set-hostname nginx

三、安装配置Tomcat

1.安装依赖

bash 复制代码
dnf -y install tar
rpm -ivh jdk-8u102-linux-x64.rpm

2.解压并安装

bash 复制代码
tar xf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8/ /usr/local/tomcat9

3.启动Tomcat

bash 复制代码
/usr/local/tomcat9/bin/startup.sh

4.访问测试

bash 复制代码
http://192.168.16.142:8080/
http://192.168.16.143:8080/

5.创建存放网页的文件

bash 复制代码
mkdir -pv /web/webapp1

6.建立网页测试文件

bash 复制代码
vi /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html>
<head>
<title>JSP test2 page</title> </head>
<body>
<% out.println("动态页面 2,http://www.test2.com") ;%> </body>
<body>
<div>动态页面的图片 2</div><br><img src="logo.png">
</body>
</html>

7.修改Tomcat的server.xml文件(162行后添加)

bash 复制代码
vi /usr/local/tomcat9/conf/server.xml

        <Context docBase="/web/webapp1" path="" reloadable="false" >
        </Context>

8.重启Tomcat

bash 复制代码
/usr/local/tomcat9/bin/shutdown.sh
/usr/local/tomcat9/bin/startup.sh

四、安装配置Nginx

1.安装Nginx

bash 复制代码
dnf install -y gcc make pcre-devel zlib-devel openssl-devel perl-ExtUtils-MakeMaker tar
useradd -M -s /sbin/nologin nginx 
tar zxf nginx-1.26.3.tar.gz
cd nginx-1.26.3 
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-pcre 
make && make install

2.配置Nginx.conf

bash 复制代码
vi /usr/local/nginx/conf/nginx.conf

#(33行下添加)
upstream tomcat_server {

server 192.168.16.142:8080 weight=1;

server 192.168.16.143:8080 weight=1;

}

# 动态页面正则(48行下添加)
location ~ .*.jsp$ {
proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Client-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://tomcat_server;

}

# 静态图片正则
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { 

root /usr/local/nginx/html/img;

expires 30d;

}

3.创建静态文件目录并上传图片

bash 复制代码
mkdir /usr/local/nginx/html/img
mv /root/logo.png /usr/local/nginx/html/img/
ls /usr/local/nginx/html/img
logo.png

4.添加网页测试文件

bash 复制代码
vi /usr/local/nginx/html/index.html

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<title>静态页面</title>

<style>

body {

width: 35em;

margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;

}

</style>

</head>

<body>

<h1>静态页面</h1>

<p>这是个静态页面</p>

</body>

</html>

5.测试配置文件是否正确

bash 复制代码
/usr/local/nginx/sbin/nginx -t

6.启动Nginx服务

bash 复制代码
/usr/local/nginx/sbin/nginx

7.测试静态网页

8.测试负载均衡

a.更改tomcat1网页

bash 复制代码
vi /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html>
<head>
<title>JSP test2 page</title> </head>
<body>
<% out.println("动态页面 1,http://www.test1.com") ;%> </body>
<body>
<div>动态页面的图片 2</div><br><img src="logo.png">
</body>
</html>

b.测试

多次访问 http://192.168.16.144/index.jsp 应轮流显示来自tomcat1和tomcat2的响应

相关推荐
charlee442 小时前
nginx部署发布Vite项目
nginx·性能优化·https·部署·vite
ye904 小时前
银河麒麟V10服务器版 + openGuass + JDK +Tomcat
java·开发语言·tomcat
CRMEB定制开发4 小时前
【实战】CRMEB Pro 企业版安装教程(附 Nginx 反向代理配置 + 常见问题解决)
nginx·商城系统·微信商城·crmeb
hunjinYang6 小时前
Tomcat镜像实战:掌握Dockerfile的编写以及发布项目
docker·tomcat
BD_Marathon15 小时前
Ubuntu下的Tomcat服务器部署
服务器·ubuntu·tomcat
孙克旭_1 天前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
ladymorgana1 天前
【Spring boot】tomcat Jetty Undertow对比,以及应用场景
spring boot·tomcat·jetty
博同学1 天前
Nginx + ELK + Grafana 全球访问热力图
nginx·elk·grafana
RW~1 天前
Minio安装配置,桶权限设置,nginx代理 https minio
运维·nginx·https·minio
CodeWithMe1 天前
Nginx入门进阶:从零到高手的实战指南
运维·nginx