Nginx配置实例-反向代理1

目标

打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中

准备工作

我们在官网下载好tomcat之后,直接将tomcat的压缩包放到相应的目录下编译解压,然后进入tomcat的bin目录中使用./startup.sh命令启动tomcat,如下图:

注意:要开放系统防火墙的8080端口才能访问tomcat的主页面,我这里懒得设置,所以就直接把虚拟机的防火墙给关了…

虚拟机IP地址加8080端口访问tomcat主页面,如下图:

我们也可以用一下命令查看tomcat的启动日志

tail -f catalina.out

主机配置

第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

通过修改本地 host 文件,将 www.123.com 映射到我们虚拟机的IP地址(假装我们有一个域名…)

配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat 初始界面。

配置 nginx.conf 配置文件


如上配置,我们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故访问该域名时会跳转到 127.0.0.1:8080 路径上。

然后我们在主机浏览器输入 www.123.com ,访问到tomcat主页,如下图:

遇到的问题

注意:有的人在最后一步完成后可能会出现访问失败的情况,即输入 www.123.com 访问的是 nginx 的欢迎页面,这是因为我们没有指定配置文件启动 nginx 导致的,我们需要指定配置文件来重新启动一遍nginx,如下:

# 指定配置文件重启nginx
# nginx的启动目录/nginx -s reload -c /nginx的配置文件目录/nginx.conf
/usr/local/nginx/sbin/nginx -s reload -c /home/centos7-2/Nginx/nginx-1.20.1/conf/nginx.conf# 指定配置文件启动nginx
# nginx的启动目录/nginx -c /nginx的配置文件目录/nginx.conf
/usr/local/nginx/sbin/nginx -c /home/centos7-2/Nginx/nginx-1.20.1/conf/nginx.conf

Nginx配置实例-反向代理2

目标

使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001,
访问 http://192.168.126.131:9001/edu/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.126.131:9001/com/ 直接跳转到 127.0.0.1:8081

准备工作

(1)准备两个 tomcat 服务器,一个 8080 端口,一个 8081 端口,如下图:

准备好两个 tomcat 服务器之后,我们修改这两个服务器的端口,如下图:

找到 tomcat 的配置文件,修改 server.xml 里面的内容。
首先把 shutdown 端口修改成8006,如下图:

然后再把 tomcat 运行端口修改成 8081,如下图:

总之,把所有跟另一个 tomcat 服务器相同的端口都改了,以避免发生端口冲突。

最后,去到 bin 目录底下将两个 tomcat 都启动起来,如下图:

再检查一下是否成功启动了,如下图:


我们可以看到,两个 tomcat 服务器都成功启动起来了。

(2)创建文件夹和测试页面
然后我们在两个 tomcat 服务器下面的 webapps 目录底下创建测试文件夹 edu、com 和测试页面 a.html、b.html,如下图:


我们来测试一下页面是否创建成功,如下图:

具体配置

(1)找到 nginx 配置文件,进行反向代理配置,如下图:

其中 9001 是 nginx 要监听的端口,server_name 就是本机的 ip 地址。~ /edu/中的“~”是一种正则表达式的形式,表示当路径中有 “eud” 时,则转发到相应的路径去。

最终测试

location 配置说明

该指令用于匹配 URL。
语法如下:

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

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

PS:可以到我的个人博客查看更多内容
个人博客地址:小关同学的博客

Nginx学习3:反向代理实例相关推荐

  1. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例

    写在开始 去年,做过一款竞赛打分的APP.具体需求,同组教师之间可以相互通信,及时通知同组人员,其他组员做了那些操作(当然,这只是针对特定操作). 实现方案 采用目前比较成熟的WebSocket技术, ...

  2. Nginx http和反向代理配置实例介绍

    Nginx  是一个高性能的 HTTP 和反向代理服务器,本节以实际实例介绍如何实现Nginx 反向代理. 1.  安装Nginx 安装Nginx之前,首先安装相关模块的依赖库: 这里安装Pcre和O ...

  3. Nginx的配置实例(反向代理实例 )

    目录 反向代理实例 1.实现效果 2.准备工作 (1)准备两个服务器,一个8080端口,一个 8081端口 (2)创建文件夹和测试页面 3.反向代理具体配置 (1)找到 nginx  配置文件,进行反 ...

  4. Nginx(三):反向代理

    我们本篇将通过两个实例进行对Nginx反向代理的学习. 1.概念基础 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就是可以访问.我们只需要将请求发送到反向代理服务器上,有反向代理服务 ...

  5. Nginx总结(反向代理、负载均衡、动静分离)篇

    一.Nginx简介 什么是Nginx Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同 ...

  6. nginx静态资源反向代理

    nginx静态资源反向代理 server { listen 80; server_name music.didi365.com; index index.php index.html index.ht ...

  7. 【转】Nginx服务器的反向代理proxy_pass配置方法讲解

    [转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲 Nginx的配置还是比较简单的 ...

  8. Nginx实现HTTP反向代理配置

    Nginx实现HTTP反向代理配置 无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教 ...

  9. 分布式项目-Nginx安装(反向代理)

    可以根据parent_id来查询分类的列表 服务器上的图片是如果管理的? 1.如果是分布式环境引用会存在问题 2.图片的下载也会给服务器增加压力 3.如果存在高并发的话,就需要增加tomcat服务器, ...

  10. history模式 nginx配置_nginx反向代理部署vue项目(history模式)的方法

    前言: 根据标题我们要区分出两个信息 1. history 模式部署 ( vue的路由模式如果使用history,刷新会报404错误.) 2. Nginx 做反向代理 问题1思考: vue-route ...

最新文章

  1. visual studio内置“iis”组件提取及二次开发
  2. SQL Server 2008 认证之路
  3. Android Studio你不知道的调试技巧
  4. php修改http header,php header函数的常用http头设置
  5. Hadoop应用实战100讲(二)-Hadoop常用命令汇总
  6. 【干货】精通网红OSPF协议---进阶篇
  7. 串行任务如何提高效率Java_具有相同属性任务串行有序执行的线程池设计
  8. 《编译原理》实验预习报告——递归下降语法分析器的构建
  9. return两个返回值_LeetCode 第四题 寻找两个有序数组的中位数
  10. linux 刻录cd,Linux 刻录CD/DVD命令 growisofs/mkisofs/cdrecord
  11. python替换文件内容_Python实现替换文件中指定内容的方法
  12. log4j2 日志框架小记
  13. open3d连续读取pcd文件及实现点云视角转换
  14. linux必备常用重要命令汇总
  15. 开关电源仿真与设计基于spice 第2版 中译本_亚成微招聘模拟IC设计师、FAE工程师、系统测试工程师...
  16. Microsoft Dynamic CRM 自定义重复检测功能
  17. UNIX环境高级编程(第三版)--开发环境搭建和第一个案例
  18. 黄金分割法 c语言程序,优化程序-黄金分割法C语言程序设计
  19. js关闭当前的弹窗页面
  20. Linux、Windows、Mac非root普通用户使用秘钥免密SSH登录

热门文章

  1. 只需三分钟!只需创建一个vuex.js文件,让你马上学会使用Vuex,尽管Vuex是个鸡肋!(扔掉store文件夹和里面的index、getters、actions、mutations等js文件吧!)
  2. 使用希捷DiscWizard格式化3TB硬盘并分区
  3. C++的STL 栈 实现四则运算
  4. Java - 框架之 SpringBoot 攻略day01
  5. Java 理解泛型的基本含义
  6. [转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化
  7. adobe就不敢把融合做得更好一点?
  8. 金融时报:谷歌撤离中国有99.9%的可能性
  9. GridView标题行换行之我见 (转)
  10. python数据结构与算法:单向链表