当前位置: 代码网 > it编程>数据库>Mysql > nginx+tomcat实现多级反向代理的示例代码

nginx+tomcat实现多级反向代理的示例代码

2025年07月15日 Mysql 我要评论
1、tomcat的安装 (centos版本)1.1 安装java依赖环境[root@localhost ~]# rz -erz waiting to receive.[root@localhost ~

1、tomcat的安装 (centos版本)

1.1 安装java依赖环境

[root@localhost ~]# rz -e
rz waiting to receive.
[root@localhost ~]# ls
anaconda-ks.cfg       jdk-8u201-linux-x64.rpm  模板  图片  下载  桌面
initial-setup-ks.cfg  公共                     视频  文档  音乐
[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm 

#安装成功
[root@localhost ~]# cd /usr/java/
[root@localhost java]# ls
default  jdk1.8.0_201-amd64  latest
[root@localhost java]# 


#添加环境变量
[root@localhost java]# 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
##
[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_201"
java(tm) se runtime environment (build 1.8.0_201-b09)
java hotspot(tm) 64-bit server vm (build 25.201-b09, mixed mode)
#添加成功
[root@localhost java]# 

1.2 安装tomcat

具体操作步骤如下

[root@localhost opt]# rz -e
rz waiting to receive.
#拖入相关安装包
[root@localhost opt]# ls
apache-tomcat-9.0.16.tar.gz  rh
[root@localhost opt]# tar -xf apache-tomcat-9.0.16.tar.gz 
#解压
[root@localhost opt]# ls
apache-tomcat-9.0.16  apache-tomcat-9.0.16.tar.gz  rh
[root@localhost opt]# cp -r apache-tomcat-9.0.16 /usr/local/tomcat
#复制到系统路径
[root@localhost opt]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
bin           conf             lib      logs    readme.md      running.txt  webapps
building.txt  contributing.md  license  notice  release-notes  temp         work
[root@localhost tomcat]# cd bin/
[root@localhost bin]# ls
bootstrap.jar       commons-daemon-native.tar.gz  makebase.sh       tomcat-juli.jar
catalina.bat        configtest.bat                setclasspath.bat  tomcat-native.tar.gz
catalina.sh         configtest.sh                 setclasspath.sh   tool-wrapper.bat
catalina-tasks.xml  daemon.sh                     shutdown.bat      tool-wrapper.sh
ciphers.bat         digest.bat                    shutdown.sh       version.bat
ciphers.sh          digest.sh                     startup.bat       version.sh
commons-daemon.jar  makebase.bat                  startup.sh

[root@localhost bin]# /usr/local/tomcat/bin/startup.sh 
#以catlina的方式启动
using catalina_base:   /usr/local/tomcat
using catalina_home:   /usr/local/tomcat
using catalina_tmpdir: /usr/local/tomcat/temp
using jre_home:        /usr/java/jdk1.8.0_201-amd64
using classpath:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
tomcat started.
[root@localhost bin]# /usr/local/tomcat/bin/shutdown.sh 
#以catlina的方式关闭
using catalina_base:   /usr/local/tomcat
using catalina_home:   /usr/local/tomcat
using catalina_tmpdir: /usr/local/tomcat/temp
using jre_home:        /usr/java/jdk1.8.0_201-amd64
using classpath:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@localhost bin]# 

#创建tomcat用户,更改其属组
[root@localhost bin]# useradd -s /sbin/nologin tomcat
[root@localhost bin]# chown -r tomcat:tomcat /usr/local/tomcat
[root@localhost bin]# 

#配置service文件,可以使用systemctl托管
[root@localhost system]# vim tomcat.service 
[root@localhost system]# systemctl daemon-reload 
[root@localhost system]# systemctl restart tomcat
[root@localhost system]# systemctl status 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

#配置软链接
[root@localhost system]# ln -s /usr/local/tomcat/bin/*     /usr/bin

安装完成

2、tomcat的虚拟主机的配置

2.1 配置多级目录

[root@localhost data]# echo "abc" > abc/root/index.html
[root@localhost data]# echo "def" > def/root/index.html
[root@localhost data]# echo "xyz" > xyz/root/index.html
[root@localhost data]# tree
.
├── abc
│?? └── root
│??     └── index.html
├── def
│?? └── root
│??     └── index.html
└── xyz
    └── root
        └── index.html

#找到主站点配置目录
[root@localhost data]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
bin           conf             lib      logs    readme.md      running.txt  webapps
building.txt  contributing.md  license  notice  release-notes  temp         work
[root@localhost tomcat]# cd conf/
[root@localhost conf]# ls
catalina             context.xml           logging.properties  tomcat-users.xsd
catalina.policy      jaspic-providers.xml  server.xml          web.xml
catalina.properties  jaspic-providers.xsd  tomcat-users.xml
[root@localhost conf]# vim server.xml 
[root@localhost conf]# 

#添加三个站点目录
      <host name="www.abc.com"  appbase="/data/abc" unpackwars="true" autodeploy="true">
      </host>

      <host name="www.def.com"  appbase="/data/def" unpackwars="true" autodeploy="true">
      </host>

      <host name="www.xyz.com"  appbase="/data/xyz" unpackwars="true" autodeploy="true">
      </host>

#测试访问虚拟主机 -- 成功
[root@localhost data]# curl www.abc.com:8080
abc
[root@localhost data]# curl www.def.com:8080
def
[root@localhost data]# curl www.xyz.com:8080
xyz

3、利用nginx的反向代理实现将转发指向一个虚拟机

机器ip地址
pc192.168.107.192
nginx192.168.107.10
tomcat192.168.107.12

3.1 nginx服务器的配置

#安装nginx(略)
[root@localhost ~]# vim /etc/nginx/nginx.conf
#加入下面这三行(server模块)
location / {
        proxy_pass  http://www.def.com:8080/;
    }

vim /etc/hosts
192.168.107.12  www.abc.com  www.def.com  www.xyz.com

3.2 客户端配置

vim /etc/hosts
192.168.107.10  www.abc.com  www.def.com   www.xyz.com

#检测访问

[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
#成功

4、 反向多级代理

拓扑图如下

代理服务器操作

yum install  nginx -y
systemctl  start  nginx
vim  /etc/nginx/nginx.conf

  upstream  web {
    server 192.168.91.101;
    server 192.168.91.102;

   }

location  / {
        proxy_pass  http://web/;

}

nginx  -s reload

nginx 1 服务器

yum install  nginx -y
systemctl  start  nginx

vim  /etc/nginx/nginx.conf

 location ~  \.(jpg|html|png|css)$ {
        root         /usr/share/nginx/html;
         }
        location ~  \.jsp$ {
         proxy_pass http://192.168.91.103:8080;
         }

echo  7-2  > /usr/share/nginx/html/index.html

nginx 2 服务器

yum install  nginx -y
systemctl  start  nginx

vim  /etc/nginx/nginx.conf

 location ~  \.(jpg|html|png|css)$ {
        root         /usr/share/nginx/html;
         }
        location ~  \.jsp$ {
         proxy_pass http://192.168.91.105:8080;
         }

echo  7-3  > /usr/share/nginx/html/index.html

tomcat 1 服务器

安装tomcat

echo 7-4  > /usr/local/tomcat/webapps/root/test.jsp

tomcat 2 服务器

安装tomcat

echo 7-5  > /usr/local/tomcat/webapps/root/test.jp

结果展示

到此这篇关于nginx+tomcat实现多级反向代理的示例代码的文章就介绍到这了,更多相关nginx tomcat 多级反向代理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com