Nginx解决端口问题

1.什么是Nginx?

在这里插入图片描述
Nginx可以作为web服务器,更多的时候是作为网关,它具备:

  • 反向代理
  • 负载均衡
  • 动态路由
  • 请求过滤

2. Nginx于Zuul都可以作为网关有什么不同?(面试)

Nginx是一个高性能的HTTP的反向代理服务器,也是IMAP/POP3/SMIP服务器。
Zuul是netfilx开源的API GateWay服务器,本质上是一个Web Servlet应用,它在云平台提供动态路由,监控,弹性,安全等边缘服务的框架。
相同点:

  • 可以实现负载均衡
  • 可以实现反向代理(隐藏真实的IP)
  • 可以过滤请求,实现网关效果

不同点:

  • Nginx:c语言开发, Zuul:java语言开发
  • 负载均衡的实现方式不同
    • Zuul使用的是ribbon + eureka实现的负载均衡,
    • Nginx采用服务器实现负载均衡
  • Nginx适合于服务器端的负载均衡,Zuul适合微服务中的实现网关
  • Nginx相比于Zuul功能更强大。因为Nginx整合一些脚本语言。

3.Nginx作为反向代理

3.1 什么是代理和反向代理
  • 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请 求都交给代理服务器处理。(通俗的说就是打游戏中的托管)
  • 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真 实服务器,而是代理服务器。
3.2 Nginx作为反向代理服务器来使用

我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同 的真实服务器处理,当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能。

利用反向代理,就可以解决我们前面所说的端口问题,如图:
在这里插入图片描述

4.安装与使用

4.1 目录结构

在这里插入图片描述

  • conf:配置目录
  • contrib:第三方依赖
  • html:默认的静态资源目录,类似tomcat的webapps
  • logs:日志目录
  • nginx.exe:启动程序
4.2 反向代理

修改conf目录下的nginx.conf文件:
在这里插入图片描述
nginx中的每个server就是一个反向代理配置,可以有多个server,这样每个访问都经过80则不需要再加端口号。

4.3 使用

配置修改完成后:执行命令
在这里插入图片描述
start nginx:开启nginx
nginx -s reload:配置重新加载
nginx -s stop:停止nginx

5. 访问流程解析

浏览器访问manage.leyou.com/#/index/dashboard
在这里插入图片描述

  1. 浏览器准备发起请求,访问http://mamage.leyou.com,但需要进行域名解析 。
  2. 优先进行本地域名解析,因为我们修改了本地hosts,所以解析成功,得到地址:127.0.0.1 。
  3. 请求被发往解析得到的ip,并且默认使用80端口:http://127.0.0.1:80,本机的nginx一直监听80端口,因此nginx捕获了这个请求。
  4. nginx中配置了反向代理规则,将manage.leyou.com代理到127.0.0.1:9001,因此请求被转发。
  5. 后台系统的webpack server监听的端口是9001,得到请求并处理,完成后将响应返回到nginx
  6. nginx将得到的结果返回到浏览器。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值