nginx配置实例 - 反向代理实例二

一、预期效果

在外部主机的浏览器上访问相应地址,获得如下效果:

  • 访问http://IP地址:9001/edu,跳转到http://127.0.0.1:8080
  • 访问http://IP地址:9001/vod,跳转到http://127.0.0.1:8081

二、准备工作

1.Tomcat部署

首先,把Tomcat压缩包下载到/usr/src目录下,然后在服务器上安装两个Tomcat,具体操作如下:

cd /usr/src

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.55/bin/apache-tomcat-9.0.55.tar.gz

mkdir tomcat8080

# -C参数的作用是解压到指定目录
tar -xvf apache-tomcat-9.0.55.tar.gz -C ./tomcat8080

mkdir tomcat8081

tar -xvf apache-tomcat-9.0.55.tar.gz -C ./tomcat8081

然后,修改tomcat8081目录下的Tomcat的配置,操作如下:

# Tomcat配置文件在其conf目录
cd tomcat8081/apache-tomcat-9.0.55/conf
# 修改server.xml
vim server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--修改port为8086-->
<Server port="8006" shutdown="SHUTDOWN">
 
	<!--此处省略其他配置-->
	
  <Service name="Catalina">
  	<!--修改port为8081,redirectPort为8444-->
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
               
    <!--此处省略其他配置-->
    
  </Service>
</Server>

2.静态资源

这里需要两个静态页面来简单区分访问的是8080还是8081端口的Tomcat,将它们分别放入两个tomcat的webapps目录下,代码如下:
tomcat8080

cd /usr/src/tomcat8080/apache-tomcat-9.0.55/webapps

mkdir edu
cd edu

vim a.html

# a.html
<h1>8080</h1>

tomcat8081

cd /usr/src/tomcat8081/apache-tomcat-9.0.55/webapps

mkdir vod
cd vod

vim a.html

# a.html
<h1>8081</h1>

3.开放端口

在上一篇文章中,我们开放了8080端口,而80819001端口默认还是关闭的,需要设置防火墙规则来开放这两个端口,命令如下:

firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --permanent --add-port=9001/tcp
firewall-cmd --reload

4.测试

现在尝试在外部主机访问http://IP地址:8080/edu/a.htmlhttp://IP地址:8081/vod/a.html,出现类似下图的页面则表示Tomcat配置无误:
在这里插入图片描述在这里插入图片描述

三、nginx配置

我们需要编写一个新的server块来监听9001端口,代码如下:

server {
    
    
    listen       9001;
    server_name  192.168.x.x; # 你的Linux服务器IP地址

    # 这里的 ~ 号表示后面的/edu/是正则表达式
    # ~ /edu/ 意思是 匹配uri中包含edu(区分大小写)字符的请求
    location ~ /edu/ {
    
    
        proxy_pass http://127.0.0.1:8080;
    }
   
    location ~ /vod/ {
    
    
	     proxy_pass http://127.0.0.1:8081;
    }
}

配置完成后,启动nginx。

四、验证

在外部主机的浏览器地址栏输入http://服务器IP地址:9001/edu/a.html,效果如下:
在这里插入图片描述在外部主机的浏览器地址栏输入http://服务器IP地址:9001/vod/a.html,效果如下:
在这里插入图片描述与预期效果相同,反向代理配置成功。

五、总结

当我们需要使用nginx对多个服务器进行反向代理时,需要在nginx配置文件中编写相应的serverlocation配置,并且开放对应的端口

Guess you like

Origin blog.csdn.net/a595156223/article/details/121374844