1.实现效果
使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听端口为9001
访问http://192.168.80.200:9001/edu/直接跳转到127.0.0.1:8080
访问http://192.168.80.200:9001/vod/直接跳转到127.0.0.1:8081
2.准备工作
- 准备两个tomcat服务器,一个8080端口,一个8081端口
[root@localhost /]# cd /usr/src/
[root@localhost src]# mkdir tomcat8080
[root@localhost src]# mkdir tomcat8081
#将tomact压缩包分别放在两个文件夹内
[root@localhost src]# cd tomcat8080
[root@localhost tomcat8080]# tar -zxvf apache-tomcat-8.5.50.tar.gz
[root@localhost tomcat8080]# cd apache-tomcat-8.5.50/bin/
[root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/src/tomcat8081
[root@localhost tomcat8081]# tar -zxvf apache-tomcat-8.5.50.tar.gz
[root@localhost tomcat8081]# cd apache-tomcat-8.5.50
[root@localhost apache-tomcat-8.5.50]# cd conf/
[root@localhost conf]# vi server.xml
修改成以下样子
<Server port="8015" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
- 创建文件夹和测试页面
[root@localhost /]# cd /usr/src/tomcat8080/apache-tomcat-8.5.50/webapps/
[root@localhost webapps]# mkdir edu
#创建一个网页(a.html)发放进edu目录下
<h1>8080!!</h1>
测试一下,通过浏览器访问http://192.168.80.200:8080/edu/a.html
[root@localhost /]# cd /usr/src/tomcat8081/apache-tomcat-8.5.50/webapps/
[root@localhost webapps]# mkdir vod
#创建一个网页(a.html)发放进edu目录下
<h1>8081!!</h1>
3.具体配置
- 找到nginx的配置文件,进行反向代理配置
新增一个server,server配置如下
server {
listen 9001;
server_name 192.168.80.200;
location ~ /edu/{
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod/{
proxy_pass http://127.0.0.1:8081;
}
}
- location指令说明
该指令用于匹配URL。
语法如下:
location [ = | ~ | ~* | ^~ ] uri {
}
1、= : 用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
2、~ : 用于表示uri包含正则式,并且区分大小写。
3、~* : 用于表示uri包含正则表达式,并且不区分大小写。
4、^~ : 用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location中的正则uri和请求字符串做匹配。
注意: 如果uri包含正则表达式,则必须要有~或者~*标识。
- 开放对外访问的端口号 9001、8080、8081
- 重新加载nginx
[root@localhost sbin]# ./nginx -s reload
4.最终测试
通过浏览器分别访问http://192.168.80.200:9001/edu/a.html、http://192.168.80.200:9001/vod/a.html