nginx:搭建域名访问环境
反向代理配置
访问 gulimall.com =====跳转到首页:http://localhost:10000/
上线正规流程 是 服务器的公网IP ,然后绑定域名备案后,别人访问域名即可访问服务器。
开发环境就用nginx来做
反向代理和正向代理
=======================================
hosts文件所在目录 :C:\Windows\System32\drivers\etc\hosts
也可以用switchHosts软件来操作。
======================
nginx配置文件内容:
可以看到这里有个include /etc/nginx/conf.d *.conf
他这里把conf.d目录下的配置全部合并到了这里。
上图 可以看到监听80端口,servername 是localhost
===========================
配置好后,重启nginx :docker restart nginx
然后访问成功:
============================================
让nginx代理给商品服务,商品服务是哪些机器?而且还可能变化,所以最好就是 nginx交给网关,由网关在注册中心动态发现服务在哪,然后由网关负载均衡转给服务。
网关也可能有多个,由nginx 负载均衡到哪个网关,然后由网关负载均衡转给服务。
nginx负载均衡官网示例:
上游服务器?:
配置nginx 上游服务器 88端口是网关。
然后负载均衡配置:
他就会去上游服务器组中找gulimall ,组中有多个就负载均衡
现在就转到网关了。
然后到网关,把 gulimall.com 的路由规则,路由到商品服务。
网关配置:
- id: gulimall_host_route uri: lb://gulimall-product predicates: - Host=**.gulimall.com
数据能访问,但是页面不能访问。。。。
视频中解释说,nginx代理给网关的时候,会丢失请求的host信息。
其实会丢掉很多信息,这里先只管host信息。。。所以要配置nginx 不要丢掉这些信息。set header :
这下子 成功访问
==================================
访问流程梳理: 浏览器访问 gulimall.com ,然后再windows中,用switchHosts软件已经配置了域名访问,所以浏览器就找到了虚拟机,然后虚拟机里面的80端口是nginx监听,正好80端口有一个专门监听gulimall.com的配置,nginx找到后就根据gulimall的上游服务器组转给网关,然后网关路由到商品服务,然后得到相关页面内容。
注意:网关的配置是从上到下读取,注意上面的如果匹配了,下面的就匹配不到了。所以路由书写顺序要注意一下。