当前位置: 首页 > article >正文

谷粒微服务高级篇学习笔记整理---nginx搭建正反向代理

正向与反向代理

image-20250327084422721

**正向代理:**客户端向代理服务器发请求并指定目标服务器,代理向目标转交请求并将获得的内容转给客户端。

反向代理:用户直接访问反向代理服务器就可以获得目标服务器的资源。反向代理服务器统一了访问入口

给首页配置反向代理
  • 修改windows的hosts文件配置域名和ip映射

    windows解析域名的优先级为:

    Hosts文件 → DNS缓存 → 配置的DNS服务器 → NetBIOS/WINS → LLMNR → mDNS
    

    hosts文件位于C:\Windows\System32\drivers\etc目录下,修改其内容即可改变电脑的域名解析

    这里需要SwitchHosts协助修改该文件

    image-20250327084719325

    以管理员身份运行并添加新的本地方案

    image-20250327084823586

    将guLimall.com这个域名映射到自己的虚拟机上面(可以通过访问gulimall.com:9200来验证是否配置成功)

    image-20250327085014512

    不生效的可以检查C:\Windows\System32\drivers\etc\host文件的权限是否为只读,以及需要关闭梯子

  • 配置虚拟机的nginx服务

    nginx.conf配置文件内容介绍:

    user  nginx;
    worker_processes  auto;error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;events {worker_connections  1024;
    }http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;include /etc/nginx/conf.d/*.conf; #该路径下的配置文件会全部合并到这里
    }
    

    image-20250327085402394

    • 首先需要docker安装Nginx,并配置自启动。

      # 下载nginx的docker镜像
      docker pull nginx:latest  # 默认拉取最新版,也可指定版本如 nginx:1.25# 创建虚拟机本地目录结构 - 之后需要将docker里面的nginx的/etc/nginx/文件目录挂载到本地/mydata/nginx/
      mkdir -p /mydata/nginx/{conf,html,logs}# 为了避免挂载空目录导致容器无法启动,需先复制默认配置到本地目录
      # 启动临时Nginx容器
      docker run --name nginx-temp -d nginx# 复制主配置文件和conf.d目录
      docker cp nginx-temp:/etc/nginx/nginx.conf /mydata/nginx/conf/
      docker cp nginx-temp:/etc/nginx/conf.d /mydata/nginx/conf/# 删除临时容器
      docker rm -f nginx-temp# 运行容器并挂载目录
      docker run -d \--name nginx \-p 80:80 \-v /mydata/nginx/html:/usr/share/nginx/html \-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \-v /mydata/nginx/logs:/var/log/nginx \--restart unless-stopped \nginx
      
    • 在nginx容器挂载到虚拟机的/mydata/nginx/conf/conf.d目录下新增加一个配置文件gulimall.conf(这个配置文件会被合并到/mydata/nginx/conf/nginx.conf文件里面去),使得nginx服务能够将来自gulimall.com域名的流量转发到自己电脑IP(使用ipconfig命令查看)上面去

      gulimall.conf文件如下:

      server {listen       80;listen  [:

相关文章:

谷粒微服务高级篇学习笔记整理---nginx搭建正反向代理

正向与反向代理 **正向代理:**客户端向代理服务器发请求并指定目标服务器,代理向目标转交请求并将获得的内容转给客户端。 反向代理:用户直接访问反向代理服务器就可以获得目标服务器的资源。反向代理服务器统一了访问入口。 给首页配置反向代理 修改windows的hosts文件配…...

2.pycharm保姆级安装教程

一、pycharm安装 1.官网上下载好好软,双击打开 2.下一步 3.修改路径地址 (默认也可以) 4.打勾 5.安装 不用重启电脑 二、添加解释器 1.双击软件,打开 2.projects – new project 3.指定项目名字,项目保存地址,解释器 4.右击 – …...

基于方法分类的无监督图像去雾论文

在之前的博客中,我从研究动机的角度对无监督图像去雾论文进行了分类,而现在我打算根据论文中提出的方法进行新的分类。 1. 基于对比学习的方法 2022年 论文《UCL-Dehaze: Towards Real-world Image Dehazing via Unsupervised Contrastive Learning》&a…...

【SQL】取消sql某一列的唯一值key值的方法

在插入数据到sql时,遇到了这个问题: Duplicate entry ‘XXX’ for key 起因是: 我之前设计表的时候,手动给product_title 这个列加了一个key, key 是这个字段的唯一键约束,就不能重复在这一列存入重复的数…...

数据库--SQL

SQL:Structured Query Language,结构化查询语言 SQL是用于管理关系型数据库并对其中的数据进行一系列操作(包括数据插入、查询、修改删除)的一种语言 分类:数据定义语言DDL、数据操纵语言DML、数据控制语言DCL、事务处…...

SQL语句(一)—— DDL

目录 一、SQL 基础知识 (一)SQL 通用语法 (二)SQL 分类 二、DDL —— 数据库操作 1、查询所有数据库 2、查询当前数据库 3、创建数据库 4、删除数据库 5、切换数据库 三、DDL —— 表操作 (一)查…...

硬件负载均衡:让服务像“牛顿钟”一样稳!

硬件负载均衡:让服务像“牛顿钟”一样稳! 大家好,我是 Echo_Wish,今天要聊聊提高服务可用性的一大利器——硬件负载均衡。如果你是运维领域的一员,肯定对“负载均衡”这个词耳熟能详。然而,很多朋友一提到硬件负载均衡,脑袋可能就卡住了:这是啥?跟软件负载均衡有啥区…...

Husky目标跟踪

1.0设备清单 幻影峡谷、适配器 摄像头及数据线、显卡欺骗器 外接屏幕、键盘鼠标 Husky底盘、便携显示屏、键盘鼠标 移动电源 1.1连线 插排——移动电源幻影峡谷——适配器——插排摄像头——幻影峡谷(摄像头固定在机械臂前方的底盘上)键盘鼠标显示器…...

高通camx IOVA内存不足,导致10-15x持续拍照后,点击拍照键定屏无反应,过一会相机闪退

定屏闪退问题分析思路: 定屏问题如果是相机问题,一般会出现返帧,导致预览卡死。当然还有其他情况,我们先看返帧情况,发现request和result开始都正常,到12:53:05.443038就没有返帧了,定屏了。往…...

Python----机器学习(线性回归:自求导的方法实现)

一、线性回归方程 目标: 线性回归的目标是找到最佳的系数来使模型与观察到的数据尽可能拟合。 应用: 预测:给定自变量的值,预测因变量的值。 回归分析:确定自变量对因变量的影响程度 线性回归是统计学和机器学习中最简…...

Parasoft C++Test软件单元测试_操作指南

系列文章目录 Parasoft C++Test软件静态分析:操作指南(编码规范、质量度量)、常见问题及处理 Parasoft C++Test软件单元测试:操作指南、实例讲解、常见问题及处理 Parasoft C++Test软件集成测试:操作指南、实例讲解、常见问题及处理 进阶扩展:自动生成静态分析文档、自动…...

QT之QML(简单示例)

需求一:点击按钮弹出菜单,并且自定义菜单弹出位置。 mouse.x 和 mouse.y 获取的是相对于 MouseArea(在这个例子中是 Button)左上角的局部坐标。如果你想要在鼠标点击位置显示 Menu,你需要将这个局部坐标转换为相对于应…...

【自动化运维】Python 的安装和使用

Python 的安装和使用 文章目录 Python 的安装和使用一、Linux环境安装Python1.1、设置Yum仓库1.2、安装依赖包1.3、编译Python1.3.1、解压Python压缩包1.3.2、配置Python1.3.3、编译及安装1.3.4、链接软连接 1.4、测试Python3运行1.5、设置国内pip更新源1.6、更新pip版本&#…...

Springcache+xxljob实现定时刷新缓存

目录 SpringCache详解 SpringCache概述 核心原理 接口抽象与多态 AOP动态代理 核心注解以及使用 公共属性 cacheNames KeyGenerator:key生成器 key condition:缓存的条件,对入参进行判断 注解 xxl-job详解 SpringcacheRedis实现…...

线性规划建模工具 PuLP 学习指南

PuLP 是一个用 Python 编写的线性规划建模工具,它提供了直观的 API 来定义和求解各种优化问题。以下是学习 PuLP 的全面指南: 1. 安装 PuLP pip install pulp2. 基本概念 问题类型 LpProblem: 表示优化问题LpVariable: 表示决策变量LpConstraint: 表…...

vue2拖拉拽做个模拟公式工具

1. 成图 2. 介绍 就是简单拖拉拽来做个规则运算器&#xff0c;具体运算规则、校验规则自己加。 3. 代码 HTML代码 <template><div class"red-cont"><div class"red-top"><divclass"red-top-left"><div class&quo…...

两点与圆(异或神通)

给出 n 个圆&#xff0c;保证任意两个圆都不相交且不相切。 然后给出两个点 (x1​,y1​),(x2​,y2​)&#xff0c;保证均不在某个圆上。现在要从 (x1​,y1​)→(x2​,y2​) 画条曲线&#xff0c;问这条曲线最少穿过多少次圆的边界&#xff1f; 输入格式 第一行为一个整数 n&…...

Windows查重工具,强烈推荐大家收藏!

我大家在用电脑的时候&#xff0c;是不是发现用得越久&#xff0c;电脑里的软件和文件就越多&#xff1f; 今天我给大家带来的这两款重复文件查找神器&#xff0c;简直就是电脑里的“清洁小能手”&#xff0c;能帮你把那些重复的文件和文件夹找出来。 Easy DupLicate Finder 重…...

使用Python快速接入DeepSeek API的步骤指南

使用Python快速接入DeepSeek API的步骤指南 1. 前期准备 注册DeepSeek账号 访问DeepSeek官网注册账号 完成邮箱验证等认证流程 获取API密钥 登录后进入控制台 → API管理 创建新的API Key并妥善保存 安装必要库 pip install requests # 可选&#xff1a;处理复杂场景 pip…...

使用python完成手写数字识别

入门图像识别的第一个案例,看到好多小伙伴分享,也把自己当初的思路捋捋,写成一篇博客,作为记录和分享,也欢迎各位交流讨论。 实现思路 数据集:MNIST(包含60,000个训练样本和10,000个测试样本) 深度学习框架:Keras(基于TensorFlow) 模型架构:卷积神经网络(CNN) 实…...

OpenLayers:如何控制Overlay的层级?

我最近在使用Overlay的时候遇到了一个问题&#xff0c;我向地图中添加了两种不同的Overlay&#xff08;下图中的蓝色标牌和粉色标牌&#xff09;&#xff0c;我希望粉色标牌可以显示在最上层&#xff0c;可偏偏蓝色标牌却将其遮挡住了。于是我对Overlay的层级开始起了兴趣&…...

清晰易懂的 Flutter 卸载和清理教程

以下是为 Flutter 彻底卸载与清理教程&#xff0c;覆盖 Windows、macOS、Linux 系统&#xff0c;步骤清晰无残留&#xff0c;确保完全删除 Flutter SDK、依赖工具及 IDE 配置。 一、通用步骤&#xff1a;确认 Flutter 安装方式 Flutter 通常通过以下方式安装&#xff1a; 手动…...

docker-compose部署以及常用命令

一&#xff1a;常用命令 1.docker compose restart//重启 2.docker compose down// 停止 3.docker compose ps//列出 4.sudo docker-compose up -d 启动并且在后台运行 二:yaml配置文件 version: 3.5 services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:…...

《Golang高性能网络编程:构建低延迟服务器应用》

在本文中&#xff0c;我们将深入探讨Golang高性能网络编程&#xff0c;帮助您构建低延迟服务器应用。我们将介绍Golang的网络编程特性、优化技巧和实际案例&#xff0c;让您更好地理解和应用Golang在网络编程领域的优势。 高性能网络编程简介 什么是Golang高性能网络编程 高性能…...

非对称加密技术深度解析:从数学基础到工程实践

一、密码学范式革命&#xff1a;从对称到非对称 1.1 对称加密的局限性 传统对称加密算法&#xff08;如AES、DES&#xff09;采用共享密钥机制&#xff0c;加解密使用相同密钥。虽然计算效率优异&#xff08;AES-256加密速度可达800MB/s&#xff09;&#xff0c;但在密钥分发环…...

Ubuntu 22.04/24.04 配置apt 源

前言 在 Ubuntu 系统部署与运维中&#xff0c;​APT 源配置是保障软件安装效率与系统稳定性的核心环节。然而&#xff0c;随着 Ubuntu 24.04 LTS&#xff08;Noble&#xff09;的发布&#xff0c;其 APT 源配置格式与 22.04 LTS&#xff08;Jammy&#xff09;存在显著差异。 …...

数据结构C语言练习(设计循环队列)

一、循环队列简介 循环队列是一种线性数据结构&#xff0c;基于 FIFO&#xff08;先进先出&#xff09;原则&#xff0c;将队尾连接到队首形成循环。其核心优势是能复用队列之前用过的空间&#xff0c;避免普通队列 “假溢出” 问题。实现时&#xff0c;通常申请 k1 大小的数组…...

vscode代码片段的设置与使用

在 Visual Studio Code (VS Code) 中&#xff0c;可以通过自定义**代码片段&#xff08;Snippets&#xff09;**快速插入常用代码模板。以下是详细设置步骤&#xff1a; 步骤 1&#xff1a;打开代码片段设置 按下快捷键 Ctrl Shift P&#xff08;Windows/Linux&#xff09;或…...

在Vue中如何高效管理组件状态

在Vue中高效管理组件状态&#xff0c;可以采用以下几种策略&#xff1a; 使用Vuex进行状态管理&#xff1a; 对于复杂的应用&#xff0c;使用Vuex是一个非常有效的状态管理方案。Vuex提供了一个集中存储管理所有组件的状态&#xff0c;并以响应式的方式更新视图。它包括以下几个…...

uniapp -- 列表垂直方向拖拽drag组件

背景 需要在小程序中实现拖拽排序功能,所以就用到了m-drag拖拽组件,在开发的过程中,发现该组件在特殊的场景下会有些问题,并对其进行了拓展。 效果 组件代码 <template><!-- 创建一个垂直滚动视图,类名为m-drag --><scroll...