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 天前
第三方软件课题结题验收测试机构【使用JMeter的Web应用负载测试】
功能测试·jmeter·负载均衡·压力测试
牛奶咖啡132 天前
zabbix实现监控Apache、Nginx、php-fpm应用的实操保姆级流程
nginx·apache·zabbix·php-fpm·zabbix监控apache·zabbix监控nginx·zabbix监控php-fpm
QMY5205202 天前
爬虫的意义
java·spring·tomcat·maven
枫叶梨花2 天前
实战:将 Nginx 日志实时解析并写入 MySQL,不再依赖 ELK
mysql·nginx·elk
青靴2 天前
关于NGINX,你了解多少?
运维·nginx
5pace2 天前
Mac Nginx安装、启动、简单命令(苍穹外卖、黑马点评前端环境搭建)
java·前端·nginx·macos·tomcat
Justin_192 天前
Galera Cluster部署
linux·服务器·nginx
苹果醋33 天前
学习札记-Java8系列-1-Java8新特性简介&为什么要学习Java8
java·运维·spring boot·mysql·nginx
旷野说3 天前
Spring Boot 1.x、2.x 3.x区别汇总
java·spring·tomcat·1024程序员节
qyhua3 天前
从零部署自维护版 Uptime Kuma:Node.js + PM2 + Nginx 全链路实战指南
运维·nginx·node.js