实操Nginx(七层代理)+Tomcat多实例部署,实现负载均衡和动静分离

目录

Tomcat多实例部署(192.168.17.27)

1.安装jdk,设置jdk的环境变量

2.安装tomcat在一台已经部署了tomcat的机器上复制tomcat的配置文件取名tomcat1

​编辑

编辑配置文件更改端口号,将端口号改为8081

[启动 tomcat, tomcat1](#启动 tomcat, tomcat1)

过滤出8080和8081端口

在单独部署一台(192.168.17.26)tomcat

[打开浏览器访问192.168.17.27:8080 8081(验证是否成功)](#打开浏览器访问192.168.17.27:8080 8081(验证是否成功))

在三台tomcat上面部署分别jsp动态页面

测试网页

[Nginx的七层代理 (192.168.17.30)](#Nginx的七层代理 (192.168.17.30))

在安装了nginx的基础上部署

更改配置文件

添加

动静分离

重启nginx服务

[测试访问 192.168.17.30/static/test.html](#测试访问 192.168.17.30/static/test.html)

192.168.17.30/test/qwe.jsp (刷新界面发生改变)


Tomcat多实例部署(192.168.17.27)

1.安装jdk,设置jdk的环境变量

bash 复制代码
vim /etc/profile.d/1.sh #在profile的子目录的下创建一个文件

export JAVA_HOME=/usr/local/jdk1.8.0_361
export JRE HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


. /etc/profile   #运行

java -version  #查看版本

java version "1.8.0_361"      #更改成功版本号
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

2.安装tomcat在一台已经部署了tomcat的机器上复制tomcat的配置文件取名tomcat1

编辑配置文件更改端口号,将端口号改为8081

复制代码
vim /usr/local/tomcat1/conf/server.xml

启动 tomcat, tomcat1

bash 复制代码
cd /usr/local/tomcat/bin/  #启动tomcat
./startup.sh


 cd /usr/local/tomcat1/bin/   #启动tomcat1
./startup.sh

过滤出8080和8081端口

bash 复制代码
-bash-4.2# ss -natp |grep :8080
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=3557,fd=51))
-bash-4.2# ss -natp |grep :8081
LISTEN     0      100         :::8081                    :::*                   users:(("java",pid=45066,fd=51))
-bash-4.2# 

在单独部署一台(192.168.17.26)tomcat

打开浏览器访问192.168.17.27:8080 8081(验证是否成功)

在三台tomcat上面部署分别jsp动态页面

bash 复制代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>   #指定为 test1 页面
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>

192.168.7.27:8080

192.168.7.27:8081

测试网页

192.168.17.26:8080/test/qwe.jsp

192.168.17.27:8081/test/qwe.jsp

192.168.17.27:8080/test/qwe.jsp

Nginx的七层代理 (192.168.17.30)

在安装了nginx的基础上部署

更改配置文件

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

添加

bash 复制代码
upstream tomcat_server{
        server 192.168.17.26:8080 weight=1;
        server 192.168.17.27:8081 weight=1;
        server 192.168.17.27:8080 weight=1;
}

动静分离

bash 复制代码
location ~ .*\.jsp$ {
        proxy_pass http://tomcat_server;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

编辑一个静态网页

bash 复制代码
cd /usr/local/nginx/html
mkdir static

添加图片 用于测试

bash 复制代码
<html>
<body>
<h1>this is static web01</h1>
<img src="iu.jpeg"/>
</body>
</html>

重启nginx服务

测试访问 192.168.17.30/static/test.html

192.168.17.30/test/qwe.jsp (刷新界面发生改变)

相关推荐
金玉满堂@bj1 天前
多环境部署方案(开发、测试、生产,搭配Tomcat\+WAR包)
java·tomcat·maven
迷茫的大专生2 天前
高可用总结
redis·mysql·nginx·高可用
szephyr2 天前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
迷茫的大专生2 天前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
A心有千千结2 天前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
Anthony_2312 天前
Nginx基础
服务器·nginx·http·https·edge浏览器·web
vx_BS813302 天前
【项目编号:project49759】Spring Boot 宠物综合服务平台:商城、预约、咨询、活动与健康档案的一体化实现
java·spring boot·eclipse·tomcat·intellij-idea
薛之谦_2 天前
Nginx 配置 HTTPS 全指南:每个参数逐一详解
运维·nginx
❁满城风絮*2 天前
Nginx—从默认页面到高性能网
网络·nginx
ly76892 天前
Spring Boot 3.2 虚拟线程在 Web 层与 JDBC 池的实践边界
前端·spring boot·后端·tomcat·jdbc·虚拟线程