码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • nginx实现反向代理实例


    目录

    1 前言

    1.1 演示内容

    1.2 前提条件

    2 修改nginx配置文件

    3 nginx反向代理(2)

    4 location指令说明


    1 前言

    1.1 演示内容

    在服务器上访问nginx端口然后跳转到tomcat服务器

    1.2 前提条件

    前提条件:利用docker安装好nginx、tomcat、jdk8(tomcat运行需要jdk环境)

    只演示docker安装tomcat:

    默认拉取最新版tomcat

    docker pull tomcat
    

    也可以拉取官方指定版本:

    1. docker pull tomcat:[tag]
    2. # 如拉取 tomcat 8
    3. docker pull tomcat:8

     使用tomcat容器创建镜像并运行

    docker run -d -p 8080:8080 --name mytomcat tomcat
    
    • -d:以后台方式运行
    • -p 8080:8080:指定端口,映射形式为:主机端口(容器外部端口):docker 容器端口(tomcat的端口)
    • tomcat:镜像名称,与上述拉取名称一致
    • --name mytomcat:自定义容器名称
    • 如果是大写的 -P,则会给主机随机分配端口

     查看当前运行的容器

    docker ps

    docker ps -a 是查看全部 容器包括未运行成功的

    如此看tomcat容器已经运行成功了,然后在用ip+端口访问:

     按理来说这样就可以直接访问成功了,但是却报了404,这是为什么呢?

    这个是因为webapps文件夹内容为空,内容都在webapps.dist目录下

     只需要将webapps.dist的内容迁移到webapps下就行了:

    2 修改nginx配置文件

     修改完之后记得重启nginx,然后直接用ip+80端口访问,就会直接跳转到tomcat页面,如下图:

    3 nginx反向代理(2)

    按照如上的方法再次启动一个tomcat容器 ,这样我们就有了2台tomcat容器(端口号分别为8080和8002),一台nginx了。演示按照nginx上不同的转发规则将其转发到不同的nginx上。

    为了更好的演示效果将在每一台tomcat的webapps目录下分别添加两个静态页面a.html和b.html上添加一个页面,如:

    单独访问容器tomcat时:

     访问容器tomcat2时:

    然后在配置nginx

     直接访问nginx:http://192.168.10.154/one/a.html

     http://192.168.10.154/two/b.html

    4 location指令说明

    1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

    2、~:用于表示 uri 包含正则表达式,并且区分大小写。

    3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。

    4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

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

     

  • 相关阅读:
    MES系统作业调度
    vue:计算属性,监视属性,绑定class样式与style样式,自定义vue实例代码段
    nvm下载npm报错
    MySQL 表数据多久刷一次盘?
    C语言,标志法
    【计算机网络微课堂】5.9 TCP报文段的首部格式
    老牌Git客户端SmartGit for Mac
    AUTOSAR从入门到精通100讲(103)-dbc文件的格式以及创建详解
    AI改写-AI改写可以迅速生成新的文章有什么弊端吗?
    Linux x86_64 BIOS 启动
  • 原文地址:https://blog.csdn.net/qq_50652600/article/details/133209697
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号