当前位置: 首页 > news >正文

tomcat与nginx之间实现多级代理

准备工作

准备5台虚拟主机;至少准备3台虚拟主机;

设备1作为代理服务器;设备2与设备4作为处理静态资源请求服务器(使用nginx);设备3与设备5作为处理动态资源服务器(使用tomcat)

设备1配置:

yum -y install epel-release#安装epel包
yum -y install nginx#安装nginx作为代理服务器
vim /etc/nginx/nginx.conf
[#server模块下
upstream web {
server 虚拟主机2IP地址;
server 虚拟主机4IP地址;
}#http模块下
location / {
proxy_pass http://web;
}
]


设备2配置:

yum -y install epel-release
yum -y install nginx 
vim /etc/nginx/nginx.conf
[
location ~* \.jsp$ {
proxy_pass http://主机3IP地址:8080;#虚拟主机3使用tomcat端口号为8080
}
]vim /usr/share/nginx/html/index.html
{自定义内容}

设备4配置:

yum -y install epel-release
yum -y install nginx 
vim /etc/nginx/nginx.conf
[
location ~* \.jsp$ {
proxy_pass http://主机3IP地址:8080;#虚拟主机5使用tomcat端口号为8080
}
]vim /usr/share/nginx/html/index.html
{自定义内容}


设备3配置:


#准备apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm 2个压缩包
rpm -ivh jdk-8u201-linux-x64.rpm

#安装jkd

vim /etc/profile
{
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar
export PATH=\$JAVA_HOME/bin:\$PATH
}
source /etc/profiletar xf apache-tomcat-9.0.16.tar.gz#解压tomcat
cp -r apache-tomcat-9.0.16 /usr/local/tomcat#复制tomcat到/usr/local/tomcat/
useradd -s /sbin/nologin tomcat#创建一个不可登录的用户
chown tomcat:tomcat /usr/local/tomcat/ -R#改变/usr/local/tomcat/下所有文件的用户为tomcatvim /usr/lib/systemd/system/tomcat.service
{
[Unit]
Description=Tomcat
After=syslog.target network.target[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target
}
systemctl daemon-reload#重新读取service文件
systemctl start tomcat#使用systemctl启动tomcat
systemctl status tomcat#查看tomcat状态ln -s /usr/local/tomcat/bin/* /usr/bin#制作软连接使得可以随时使用tomcat

vim /usr/local/tomcat/webapps/ROOT/index.jsp
{自定义内容}

设备5配置:


#准备apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm 2个压缩包
rpm -ivh jdk-8u201-linux-x64.rpm #安装jkd

vim /etc/profile
{
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar
export PATH=\$JAVA_HOME/bin:\$PATH
}
source /etc/profiletar xf apache-tomcat-9.0.16.tar.gz#解压tomcat
cp -r apache-tomcat-9.0.16 /usr/local/tomcat#复制tomcat到/usr/local/tomcat/
useradd -s /sbin/nologin tomcat#创建一个不可登录的用户
chown tomcat:tomcat /usr/local/tomcat/ -R#改变/usr/local/tomcat/下所有文件的用户为tomcatvim /usr/lib/systemd/system/tomcat.service
{
[Unit]
Description=Tomcat
After=syslog.target network.target[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target
}
systemctl daemon-reload#重新读取service文件
systemctl start tomcat#使用systemctl启动tomcat
systemctl status tomcat#查看tomcat状态ln -s /usr/local/tomcat/bin/* /usr/bin#制作软连接使得可以随时使用tomcat

vim /usr/local/tomcat/webapps/ROOT/index.jsp
{自定义内容}

验证:

使用浏览器访问设备1,查看是否会在设备2的自定义内容与设备4的自定义内容之间跳转;再使用浏览器访问设备1的index.jsp文件,查看是否会在设备3的自定义内容与设备5的自定义内容之间跳转。
若是可以反复跳转,那么实验完成。

访问虚拟主机1:

访问虚拟主机1的/index.jsp:

相关文章:

  • NPOI 操作 Word 文档
  • 【Qt开发】信号与槽
  • 计数循环java
  • agentmain对业务的影响
  • 解构认知边界:论万能方法的本体论批判与方法论重构——基于跨学科视阈的哲学-科学辩证
  • 小白成长之路-vim编辑
  • 解锁Python TDD:从理论到实战的高效编程之道(9/10)
  • curl发送数据不为null,但是后端接收到为null
  • 界面组件DevExpress WPF中文教程:Grid - 如何自定义Band Header外观?
  • 里氏替换原则:Java 面向对象设计的基石法则
  • 鸿蒙 Core File Kit(文件基础服务)之简单使用文件
  • 【Bug】多文件上传只有最后一个loading会关闭
  • Ubuntu 上安装 FTP 服务、开放指定端口并创建用户
  • vue3学习——组合式 API:生命周期钩子
  • 电机控制储备知识学习(一) 电机驱动的本质分析以及与磁相关的使用场景
  • FFmpeg在Android开发中的核心价值是什么?
  • 串口模块详细讲解
  • Python-简单网络编程 I
  • 论文精读:YOLO-UniOW: Efficient Universal Open-World Object Detection
  • MES管理系统构建智能制造时代下的全面质量管理体系
  • 著名连环画家庞邦本逝世
  • 云南威信麟凤镇通报“有人穿‘警察’字样雨衣参与丧事”:已立案查处
  • 多家中小银行存款利率迈入“1时代”
  • 长三角议事厅·周报|从模速空间看上海街区化AI孵化模式
  • 泰特现代美术馆25年:那些瞬间,让艺术面向所有人
  • 司法部谈民营经济促进法:对违规异地执法问题作出禁止性规定