零、前提

0.1. 使用SwitchHosts指定本地域名地址

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx

设置完成后可以通过​​gulimall.com​​访问虚拟机内容

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx_02

0.2. 设置Nginx自动启动

虚拟机使用命令​​docker update nginx --restart=always​

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx_03

一、搭建域名访问环境一(反向代理配置)

1.1. Nginx + Windows搭建域名访问环境

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx_04

1.2. Nginx配置文件

谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_05


  1. 查看Nginx配置文件谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_06
  2. 包含conf.d目录下的所有*.conf配置文件谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_07
  3. 查看conf.d目录下配置文件谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx配置_08
  4. 查看默认default配置,是server块配置谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_09

1.4. 直接通过Nginx配置跳转到商城服务

暂时不配置跳转到网关,直接配置跳转到商品服务10000端口


  1. 复制一份配置谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_10
  2. 编写gulimall.conf配置

  • 配置访问主机为gulimall.com
  • 配置跳转地址http://192.168.56.1:10000

  1. 重启Nginx
    谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx_11

二、搭建域名访问环境二(负载均衡到网关)

Nginx将请求交给网关,由网关从注册中心动态发现服务在哪里,然后由网关负载均衡到对应服务。

配置Nginx的http块

2.1. 配置上游服务器:


  • 编辑nginx.conf谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx配置_12
  • 使用​​upstrean​​配置上有服务器
  • 给上有服务器组配置一个名字,所有服务器地址放在​​{}​​中
  • 每一个服务器都使用​​server​​标签表明地址
    这里是转交给网关

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx配置_13

2.2. 配置gulimall.conf

将gulimall.com转给上游服务器谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx配置_14

2.3. 配置网关

根据主机地址进行断言

- id: gulimall_host_route
uri: lb://gulimall-product
predicates:
- Host=**.gulimall.com,gulimall.com

谷粒商城:17.商城业务 — Nginx搭建域名访问_nginx_15

2.4. 问题:Nginx代理给网关的时候,会丢失请求的HOST信息

配置Nginx,不要丢掉HOST信息:​​proxy_set_header Host $host​

解决:修改gulimall.conf

谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_16

三、域名映射效果

谷粒商城:17.商城业务 — Nginx搭建域名访问_服务器_17