我是靠谱客的博主 聪慧雪糕,最近开发中收集的这篇文章主要介绍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将得到的结果返回到浏览器。

最后

以上就是聪慧雪糕为你收集整理的Nginx解决端口问题的全部内容,希望文章能够帮你解决Nginx解决端口问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(135)

评论列表共有 0 条评论

立即
投稿
返回
顶部