1、实现效果:通过Nginx反向代理,根据访问路径跳转到不同端口服务中
(1)访问 http://192.168.23.122:80/edu/ 直接跳转到192.168.23.122:8080
(2)访问 http://192.168.23.122:80/vod/ 直接跳转到192.168.23.122:8081
注:192.168.23.122为虚拟机linux地址,80为Nginx默认端口,8080,8081为tomcat服务器断口
2、实例实现:
(1)准备端口号为8080的tomcat服务器以及端口号为8081的tomcat服务器,
①在8080tomcat下的webapps创建/edu/index.html测试页面:
//进入webapps目录
cd webapps
//创建edu文件
mkdir edu
//在edu下创建index.html
touch /edu/index.html
//编辑index.html
vim index.html
②在8081tomcat下的webapps创建/vod/index.html测试页面:
//进入webapps目录
cd webapps
//创建vod文件
mkdir vod
//在vod下创建index.html
touch /vod/index.html
//编辑index.html
vim index.html
(2)修改nginx.conf配置文件
①在server模块下添加server_name,server_name即为Nginx服务器的地址,此处填写虚拟机上的ip地址
②添加代理地址:
location指令说明:
一、location = url{ } :只匹配 url 的请求,精确度最高,优先级最高;
二、location / { } :普通匹配,匹配任何 / 开始的查询,优先级最低;
三、location ^~ /images/ { } :反正则,匹配 以/images/开头的查询。优先级高于正则匹配;
四、location ~* \.(gif|jpg|jpeg)$ { } :正则匹配,匹配以gif、jpg、jpeg结尾的文件,优先级高于普通匹配。
(3)修改完nginx.conf后,重新加载nginx服务(nginx服务要确保开启)
./nginx -s reload
(4)测试:
①启动两台tomcat服务器(在tomcat/bin下)
./startup.sh
②访问 http://192.168.23.122:80/edu/ 直接跳转到192.168.23.122:8080
③访问 http://192.168.23.122:80/vod/ 直接跳转到192.168.23.122:8081
测试成功