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的响应

相关推荐
码农秋2 小时前
填坑记: 古董项目Apache POI 依赖异常排除
开发语言·tomcat·jsp·poi·依赖冲突
martian6655 小时前
麒麟系统下Tomcat部署Java Web程序(WAR包)及全链路问题排查指南
开发语言·tomcat·系统安全
nangonghen5 小时前
Nginx stream模块是连接级别的负载均衡
nginx·负载均衡
三天不学习6 小时前
Vue3 本地环境 Vite 与生产环境 Nginx 反向代理配置方法汇总【反向代理篇】
运维·nginx·vue3·vite·反向代理
2401_831501737 小时前
Linux之Yum源与Nginx服务篇
linux·运维·nginx
猴子请来的逗比4899 小时前
nginx负载均衡及keepalive高可用
运维·学习·nginx·负载均衡
Think Spatial 空间思维19 小时前
【SSL部署与优化】如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置
nginx·https·证书·部署·ssl·配置·优化
酷爱码1 天前
Nginx的核心功能--正向代理、反向代理、缓存和Rewrite
运维·nginx·缓存
筱宇***1 天前
Mac的web服务器
mysql·nginx·macos·php