• 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。 

  • 相关阅读:
    一文详解贝叶斯优化(Bayesian Optimization)原理
    node.js+npm安装(win11适用)
    高数 | 周洋鑫 冲刺预测题自用整理复习
    Lua位或操作
    el-select数据量过大引发卡顿,怎么办?
    2021CCPC威海【个人题解ADGJM】
    Python二级 每周练习题20
    Oracle导出sequence
    音频转文字怎么操作?推荐三个实用软件
    JavaWeb对于JSP基础语法实战详解
  • 原文地址:https://blog.csdn.net/weixin_57023347/article/details/140382522