nginx反向代理实例

一. 准备工作

        1.1 ngnix的安装

nginx基本概念和安装-CSDN博客

        1.2 安装tomcat

        tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的情况。

        前往官网网站:Apache Tomcat® - Apache Tomcat 10 Software Downloads 下载tomcat压缩包,解压。

        解压后,进入解压后的bin目录下,执行startup.sh脚本,运行tomcat,默认启动端口8080。

        查看启动日志:

        在启动tomcat时报错 :

        报错1原因时java版本过低,需要升级版本。下面链接可以查看tomcat需要的java版本。Apache Tomcat® - Which Version Do I Want?

        报错2解决办法需要将JRE_HOME环境变量去掉,unset JRE_HOME。

        使用浏览器访问tomcat服务:

二. 实例一

         2.1 实现效果

        在浏览器中输入www.123.com,跳转到linux系统tomcat主页面。

        2.2 具体实现

  • 设置域名与IP的映射

        在windows的hosts文件中进行域名和nginx服务器ip对应关系的配置。

        域名解析:先到本地hosts中查找是否有对应关系,没有再到DNS服务器中查找。

        在hosts文件中配上(ip 域名)。

  • 在nginx进行请求转发的配置(反向代理配置)

         配置文件位置:

        配置文件修改:

演示:

说明:

        实际访问的ip和port是反向代理服务器的,但是得到的是运行在服务器的tomcat的资源。 

三. 实例二 

         3.1 实现效果

        使用nginx反向代理,根据访问的路径跳转到不同端口的服务器中去。nginx监听端口为9001。

        访问http://nginx服务器ip:9001/edu/ 直接跳转到,服务器ip:8080进程。

        访问http://nginx服务器ip:9001/vod/ 直接跳转到,服务器ip:8081进程。

        ip为云服务器公网ip。

        3.2 准备工作

  • 准备两个tomcat服务器,一个服务器监听在8080端口,另一个监听在8081端口。

         启动tomcat:进入解压的tomcat的bin目录下。执行./startup.sh脚本。

  • 创建文件夹和测试页面

        在tomcat8080目录的解压后的tomcat的webapp目录下建立edu文件夹,在edu目录下建立html文件。

        在tomcat8081目录的解压后的tomcat的webapp目录下建立vod文件夹,在vod目录下建立html文件。

        问题:我启动两个tomcat服务,但是使用客户端访问8081端口,访问超时。原因是:我的云服务器防火墙没有开放8081端口。 

         3.3 nginx具体配置

        在配置中新增一个server,运行ip为服务器ip,端口为9001。

        新增两个location,利用正则表达式,设置访问资源路径,然后对应到需要访问的ip和端口。

        修改完配置后,重新加载配置或者重启nginx服务器。

location指令说明:

        该指令用于匹配URL。

        语法如下:

location [ = | ~ | ~* | ^~ ] uri {

        ...

  • =:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
  • ~:用于表示uri包含正则表达式,区分大小写
  • ~*:用于表示uri包含正则表达式,不区分大小写
  • ^~:用于不包含正则表达式的uri前,要求nginx服务器找到表示uri和请求字符串匹配度最高的location后,立即使用此location处理请求,不再使用location块中的正则uri和请求字符串做匹配。

        注意:如果uri包含正则表达式,则必须要有~或~*标识。

         3.4 演示

        访问114.55.92.82:9001/edu/a.html,通过反向代理访问到了114.55.92.82:8080/edu/a.html。

          访问114.55.92.82:9001/vod/a.html,通过反向代理访问到了114.55.92.82:8081/edu/a.html。 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值