tomcat和nginx实现动静分离

访问nginx就是静态页面,nginx代理index.jsp可以访问tomcat的动态页面。

实验

1、设备以及IP地址

nginx1 192.168.10.41

tomcat1 192.168.10.51

tomcat2 192.168.10.52

2、tomcat1 的配置

创建动态页面

复制代码
cd /usr/local/tomcat/webapps
创建一个目录作为一个serlet服务
mkdir test
cd test/
创建一个动态页面
vim index.jsp
-------------------------

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>
wq

配置server.conf

复制代码
cd /usr/local/tomcat/conf
[root@localhost conf]# vim server.xml 
------------------------------------
删除之前的<Host.../>修改为以下内容
 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
wq

启动服务

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

3、tomcat2 的配置

创建动态页面

复制代码
cd /usr/local/tomcat/webapps
创建一个目录作为一个serlet服务
mkdir test
cd test/
创建一个动态页面
vim 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>
</html>
wq

配置server.conf

复制代码
cd /usr/local/tomcat/conf
[root@localhost conf]# vim server.xml 
------------------------------------
删除之前的<Host.../>修改为以下内容
 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
wq

启动服务

复制代码
cd /usr/local/tomcat/bin
./shutdown.sh 
./startup.sh 

4、配置nginx

复制代码
cd /usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
-------------------------------------------
在http模块下添加
    upstream tomcat {
    server 192.168.10.51:8080 weight=1;
    server 192.168.10.52:8080 weight=1;
}
在http模块下的server模块下添加
     location ~ .*\.jsp$ {
                        proxy_pass http://tomcat;
                        proxy_set_header HOST $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }

5、访问nginx服务出现轮询

使用nginx访问192.168.10.41/index.jsp实现动态页面轮询功能

相关推荐
司悠20 小时前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头10620 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog20 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo20 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码203520 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
剑神一笑21 小时前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
Jinkxs1 天前
Python基础 - 文件的写入操作 write与writelines方法
android·服务器·python
兮动人1 天前
服务器流量监控与性能优化实战
服务器·网络·性能优化·服务器流量监控与性能优化实战
摇滚侠1 天前
JavaWeb 全套教程 Listener 112-113
java·开发语言·servlet·tomcat·intellij-idea
caimouse1 天前
Reactos 第 4 章 对象管理 — 4.1 对象与对象目录
服务器·c语言·开发语言·windows·架构