NGINX -9 nginx + tomcat实现的多级反向代理

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

结果展示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值