谷粒商城实战笔记-139-商城业务-nginx-搭建域名访问环境一(反向代理配置)

文章目录

本节的主要内容是讲述如何实现通过域名 gulimall.com访问谷粒商城系统。

主要实现思路:

  • ① hosts文件配置域名映射,有了这个配置之后,在浏览器地址栏输入gulimall.com,浏览器会在hosts文件中查找域名对应的IP,进而完成请求。
  • ② nginx配置反向代理,所有向gulimall.com发出的请求,经过nginx转发到对应的服务。

一,管理员身份修改hosts文件

如上图,在hosts文件中加入如下配置。

dart 复制代码
192.168.56.10	   gulimall.com

注意,必须用管理员身份才能修改这个文件。

正常情况下要想以管理员身份打开文件,可以通过右键选择以管理员身份运行,但是右键hosts文件发现没有这个选项。

正确的姿势如下:

  • ①以管理员身份运行cmd

  • ②在cmd窗口中输入以下内容

    dart 复制代码
    ----- 打开hosts文件所处的位置
    cd c:\windows\system32\drivers\etc
    ---- 打开hosts文件 
    notepad hosts
  • ③修改host文件然后按ctrl+S点击保存就可以了

保存完成之后,就可以用gulimall.com代替IP192.168.56.10了。

二,配置Nginx反向代理product服务

为了将gulimall.com的请求转发到product服务,需要在nginx配置转发规则。

1,Nginx配置文件简介

结合图片,对于nginx配置文件:

  1. 全局块:

    • 包含影响Nginx全局的指令,如用户组、Nginx进程的PID文件存放路径、日志文件存放路径、配置文件引入、worker process数等。
  2. events块:

    • 配置影响Nginx服务器或与用户的网络连接,例如每个进程的最大连接数、事件驱动模型处理连接请求、是否允许同时接受多个网络连接、开启多个网络连接序列化等。
  3. http块:

    • 可以嵌套多个server块,配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置,如文件引入、MIME-type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数等。
  4. http全局块:

    • 配置如upstream定义、错误页面、连接超时等全局性参数。
  5. server块:

    • 配置虚拟主机的相关参数,一个http块中可以有多个server块。每个server块定义了一个虚拟主机的特定配置,如监听的端口、域名、日志配置、root目录等。
  6. location块:

    • 配置请求的路由和各种页面的处理情况。location块可以定义在server块内,用于匹配特定的请求路径,并定义相应的处理规则,如代理转发、重定向、静态文件服务等。

2,配置Nginx将gulimall.com的请求转发到product服务

切换到nginx的配置文件目录conf.d目录下。

根据default.conf赋值一份名为gulimall.conf的配置文件,打开该文件,做如下修改。

这段Nginx配置定义了一个server块,用于处理特定的虚拟主机请求。

  1. server { ... }:定义了一个server块的开始和结束,所有在这对大括号之间的配置都是针对这个server块的。

  2. listen 80;:这一行指定了Nginx监听的端口号,这里是80端口,这是HTTP服务的默认端口。

  3. server_name gulimall.com;:这一行设置了这个server块所对应的域名,这里是gulimall.com。当有请求到达Nginx,并且请求中的Host头部与gulimall.com匹配时,Nginx就会使用这个server块的配置来处理请求。

  4. location / { ... }:定义了一个location块,它匹配所有以根路径/开始的请求。location块是server块的子块,用于进一步细化请求的处理规则。

  5. proxy_pass http://192.168.56.1:10000:这是location块内的指令,指定了请求的处理方式。proxy_pass用于将请求转发到指定的后端服务器。这里是将所有匹配的请求转发到IP地址为192.168.56.1,端口为10000的服务器。这意味着所有访问gulimall.com根路径的请求都会被Nginx转发到局域网内的这台服务器上。

总的来说,这段配置的作用是将所有发往gulimall.com(通过80端口)的请求转发到局域网内的192.168.56.1:10000服务器上,实现反向代理的功能。

配置完成后,重启nginx容器。

dart 复制代码
docker restart nginx

然后在浏览器输入gulimall.com,nginx会将请求转发到产品服务,界面如下。

相关推荐
2501_926978331 小时前
给自指系统接一个外部锚 —— 一个关于「用 AI 观察自己」的方法
人工智能·经验分享·笔记·机器学习·ai写作
lpfasd1235 小时前
WinSW在Win7上失败真相-实测与修复
windows·nginx
AOI小白新手上路5 小时前
anomalib 缺陷检测复现笔记:从跑通库到 EfficientAD 落地
人工智能·笔记·机器学习
xxwl5856 小时前
RabbitMQ 学习笔记
笔记·学习·rabbitmq
加油努力有饭吃6 小时前
DLMS/COSEM 蓝皮书解读(二十六):Auto connect(class_id = 29)—— 自动拨号与主动连接(出站管理)
笔记
CarIise7 小时前
Java实训阶段查漏补缺复习笔记1
java·开发语言·笔记
陈卫军老师7 小时前
陈卫军谈商业底线:营销是术,产品是道
经验分享·笔记·流量运营
智者知已应修善业7 小时前
【51单片机只有一个8*8点阵数据如何滚动起来一片595+一组IO+花样】2022-1-15
c++·经验分享·笔记·单片机·蓝桥杯·硬件架构
lpfasd1238 小时前
nginx服务化五套方案原理解剖与选型
运维·nginx
ue星空8 小时前
ALS V4 中文拆解手册
运维·nginx