Nginx学习之路---反向代理配置实战2.0(根据请求路径跳转不同端口)
上一篇博客记录了Nginx的反向代理配置实战,我们可以通过Nginx代理服务器,完成请求的转发。那这一篇博客的意义呢?是涉及到负载均衡吗?也不是,还没到负载均衡的地步。先往下看看文章目录实现效果请求路径包含/edu/:请求路径包含/vod/:剖析准备工作准备Nginx服务器准备好两台Tomcat服务器,并修改端口准备页面配置域名映射开放防火墙端口测试实现效果浏览器向www.mylinux.cn(我
上一篇博客记录了Nginx
的反向代理配置实战,我们可以通过Nginx
代理服务器,完成请求的转发。
那这一篇博客的意义呢?是涉及到负载均衡吗?也不是,还没到负载均衡的地步。先往下看看
文章目录
实现效果
浏览器向www.mylinux.cn
(我虚拟机配置的域名,你的随意)的9001端口发送请求,根据请求路径不同从而跳转到不同的端口中去,拿一个完成后的例子.
请求路径包含/edu/:
请求路径包含/vod/:
剖析
各位应该看到了,要实现的效果大致就是,在9001端口中,访问包含/edu/路径的请求则跳转到虚拟机的8080端口准备好的页面,访问包含/vod/路径的请求则跳转到虚拟机8081端口准备好的页面。
那么大致流程图如下:
那么就需要在虚拟机中准备好一台Nginx
服务器,两台Tomcat
服务器,其中一台要修改好对应的端口号,并在其/webapps
文件夹中准备好相关页面,配置好虚拟机域名映射,以及最重要的一步:在防火墙中开放9001、8080、8081端口。
准备工作
准备Nginx服务器
略
准备好两台Tomcat服务器,并修改端口
首先各位自行准备好安装包,然后解压出来
tar -xvf 安装包的全名
并且创建好对应文件夹后:
现在两台Tomcat
服务器都准备好了,但默认都为8080端口,不符合我们的要求,需要将其中一台修改为8081端口。
进入到其中一台的目录中,去conf/server.xml
中进行修改,分别修改三个位置(原端口8005、8080、8009):
准备页面
为了访问两个路径时可以实现端口可视化,所以需要在两个webapps
文件夹中准备好两个页面。
8080中,在webapps
中新建edu
文件夹,然后进入,执行:
vim demo.html
直接编写页面:
另外一台同理,不过是vod
文件夹,不是edu
,记得要把文本内容换成8081。
配置域名映射
这里去修改hosts文件即可。
开放防火墙端口
分别执行
firewall-cmd --add-port=9001/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8081/tcp --permanent
然后重启防火墙
firewall-cmd --reload
修改Nginx配置文件
这里是因为后面注释掉了,需要注意,要格外注意缩进,不然可能会配置不成功。
关于location
后面的正则表达式,有一段介绍
- = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。 - ~:用于表示 uri 包含正则表达式,并且区分大小写。
- ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
- ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。
测试
分别打开三台服务器,这里略过,如果8081那一台Tomcat
服务器启动失败,可以私信下我,咱们一块讨论。
然后浏览器访问:
根据不同路径来进行反向代理的跳转,这个在实际开发中运用的也是比较多的,最后感谢您的观看🙏
更多推荐
所有评论(0)