Nginx学习 (2) —— 虚拟主机配置
文章目录
- 虚拟主机原理
- 域名解析与泛域名解析(实践)
- 配置文件中ServerName的匹配规则
- 技术架构
- 多用户二级域名
- 短网址
虚拟主机原理
为什么需要虚拟主机:
- 当一台主机充当服务器给用户提供资源的时候,并不是一直都有很大的用户量,大多数时间这台主机是闲置的,这就造成了资源浪费。为了解决这一问题就需要把一台主机当多个主机使用,所以就有了虚拟主机的需求。
一台主机有多个虚拟主机,当收到用户请求时,是怎么区分请求的是哪个虚拟主机的

- 如上图,Nginx配置了两个域名,但是同一个IP地址。这时就需要http协议报头在有ip地址的基础上再提供请求的域名。这样服务器就能通过不同域名来区分应该响应哪个虚拟主机上的资源了。
域名解析与泛域名解析(实践)
本机配置域名解析 windowns下:

配置多个站点:
1、先创建站点目录(我是在/www目录下创建)

2、分别在video和www目录下创建页面

3、修改nginx配置文件中server部分(一个server对应一个端口,location配置站点目录的路径)

4、刷新nginx配置
sudo systemctl reload nginx
5、访问不同端口查看站点是否生效

上述是通过端口来区分不同站点
也可以通过域名来区分
1、先配置本机域名解析
sudo vim /etc/hosts # 添加你需要的域名

2、修改nginx配置文件(相同端口号不同域名)

3、刷新配置文件后通过域名访问

配置文件中ServerName的匹配规则
1、一个server节点可以配置多个server_name 多个域名访问同一个资源

2、通配符 匹配到的域名都可以访问配置的资源


3、正则匹配 匹配所有数字开头的域名

技术架构
多用户二级域名

不同用户通过不同的域名来访问nginx服务的时候nginx通过泛解析将真实的域名传给最终的服务端(比如tomcat),服务端拿到这个域名后解析字符串的前缀去数据库查询对应的用户信息并返回给nginx,nginx再回显给用户。
tomcat拿到的域名就是二级域名。
短网址
类似于多用户二级域名,当用户需要访问服务器上的资源时,用户输入的网址并不是真实的,而是一个唯一随机串,也叫做短网址。
首先有一个维护短网址的数据库,存储着短网址和真实地址的一一映射。当用户提交请求URI后nginx会将完整的URI反馈给后端应用服务器,应用服务器通过解析URI再查询数据库拿到真实的资源路径并返回给nginx,再由nginx返回给用户。
相关文章:
Nginx学习 (2) —— 虚拟主机配置
文章目录虚拟主机原理域名解析与泛域名解析(实践)配置文件中ServerName的匹配规则技术架构多用户二级域名短网址虚拟主机原理 为什么需要虚拟主机: 当一台主机充当服务器给用户提供资源的时候,并不是一直都有很大的用户量&#…...
Java 动态代理简述和实例
Java动态代理是一种在运行时动态创建代理对象的技术。它可以让我们在不修改原始代码的情况下,对原始对象进行增强或者添加额外的行为。这种代理方式可以用于很多场景,例如AOP编程、RPC框架等。动态代理是基于Java反射机制实现的,它允许程序在…...
Unity编译器扩展(Advanced Editor Scripting)
Untiy编译器扩展允许我们对编译器的增加自己编写的的功能菜单栏MenuItemContextMenu和ContextMenuItemContextMenuContextMenuItemMenuItem 该属性允许您将菜单项添加到主菜单和检查器窗口上下文菜单。 该属性将任何静态函数转换为菜单命令。只有静态函数可以使用该属性。 Men…...
AFR机制及流程介绍
AFR(Auto Fast Return)不符合3GPP协议标准,因此终端默认是disable状态。如果运营商有要求可以配置开启。 AFR有两种场景 2G或者3G AFR到4G4G AFR到5G3G AFR TO 4G AFR到LTE功能的作用就是终端从LTE Handover或者重定向到3G进行业务,等业务做完后能够快速回到LTE网络。...
9.Hbase 部署
9.Hbase部署 注意事项: 1:必须事先安装 Hadoop分布式集群,zookeeper分布式集群 2:查看版本号: hbase version1、解压文件并改名 tar -zxvf /opt/software/hbase-2.2.3-bin.tar.gz -C /usr/app/ mv hbase-2.2.3/ hba…...
【maven 学习记录】
maven 学习记录一、maven基础1. maven是什么2. maven的作用3. maven的下载安装4. maven仓库5. maven坐标6. 第一个maven项目 手工实现7. maven插件8. 依赖管理9. 生命周期二、maven进阶一、maven基础 1. maven是什么 maven的本质是一个项目管理工具,将项目开发和管…...
NB-IOT宣传这么多年,这次总算用好了吧
一、方案概述随着实体经济快速发展,石化、港口、货场、工地等区域规模日益扩大,厂区面积广阔、环境复杂、作业人员和车辆众多,如无法实时掌握工作人员状态及外来人员位置、外来车辆情况等问题,将存在非常大的安全隐患。今天小编介…...
sort函数对结构体|pair对组|vector容器|map排序|二维数组的第x列 的排序
目录 sort对 vector容器 sort对 vector<pair<int,int>>对组 sort对 结构体 结构体外部规定排序 结构体内部运算符重载 map容器的排序 map的键排序 map的值排序 sort对二维数组的排序 sort对 vector容器 sort()函数可以用于对vector容器进行排序。具体来…...
Java定时器Timer的使用
一、Timer常用方法 Timer应用场景: 1、每隔一段时间执行指定的代码逻辑(即按周期执行任务) 2、指定时间执行指定的代码逻辑 为方便测试并查看运行效果,首先先建一个类并继承TimerTask,代码如下: package timerTest…...
MySQL安装和配置
下载官网下载mysql解压版本:配置环境变量下载完成后直接解压到需要放的文件夹,根据文件夹来配置环境变量;新建系统变量,变量名自取,值是MySQL的目录编辑path环境变量,加上MySQL的bin目录 %MYSQL_HOME%\bin配…...
openpnnp - 载入板子后,要确定板子的放置角度
文章目录openpnnp - 载入板子后,要确定板子的放置角度概述用openpnp提供的功能来确定被夹住的板子的左下角原点位置和板子的角度备注ENDopenpnnp - 载入板子后,要确定板子的放置角度 概述 设备是有夹具的, 用百分表打过, 夹具本身在Z方向的平行度是没问题的. 但是, PCB板子的…...
HCIP知识点(前三天)
复习HCIA: 一、TCP/IP模型,OSI模型 OSI 开放式系统互联参考模型 应用层 抽象语言—>编码 表示层 编码—>二进制 会话层 应用程序内部的区分地址(无标准格式) 传输层 TCP/UDP – 分段(受MTU限制)、端…...
模板学堂丨妙用Tab组件制作多屏仪表板并实现自动轮播
DataEase开源数据可视化分析平台于2022年6月正式发布模板市场(https://dataease.io/templates/)。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板,方便用户根据自身的业务需求和使用场景选择对应的仪表板模板,并…...
C++:初识函数模板和类模板
目录 一. 泛型编程 二. 函数模板 2.1 什么是函数模板 2.2 函数模板的实例化 2.2.1 函数模板的隐式实例化 2.2.1 函数模板的显示实例化 2.3 函数模板实例化的原理 2.4 模板函数调用实例化原则 三. 类模板 3.1 什么是类模板 3.2 类模板的实例化 一. 泛型编程 泛型编程…...
3.8妇女节如何做好TikTok网红营销?
3月8日是国际妇女节,这一节日已经成为全球关注女性权益和平等的标志性日子,TikTok上话题#internationalwomensday累计播放超10亿次,话题#WomensDay2023累计播放量也将近300万次。 这个特别的日子为品牌提供了一个很好的营销机会。据Nox聚星了…...
使用Advanced Installer打包程序及运行环境
Advanced Installer 工具版本:20.1.1 设置产品信息 选中右侧【Product Details】输入产品信息 设置文件和文件夹 添加使用VS发布之后的程序文件夹 设置文件夹刷新 选中文件夹,右键选择属性,选中Synchronize标签。启用“Synchronize conten…...
华为OD机试真题Python实现【计算堆栈中的剩余数字】真题+解题思路+代码(20222023)
计算堆栈中的剩余数字 题目 向一个空栈中依次存入正整数 假设入栈元素N(1<=N<=2^31-1) 按顺序依次为Nx … N4、N3、N2、N1, 当元素入栈时,如果N1=N2+...Ny(y的范围[2,x],1 <= x <= 1000) 则 N1 到 Ny 全部元素出栈,重新入栈新元素M(M=2*N1) 如依次向栈存储6、1、…...
企业文件数据泄露防护(DLP)
什么是数据丢失防护 数据丢失防护 (DLP) 是保护数据不落入坏人之手的做法。如今,数据传输的主要问题是使大量数据容易受到未经授权的传输。通过设置足够的安全边界,您可以控制数据在网络中的移动。由于您的数据非常有价值&#x…...
不考虑分配与合并情况下,GO实现GCMarkSweep(标记清楚算法)
观前提醒 熟悉涉及到GC的最基本概念到底什么意思(《垃圾回收的算法与实现》)我用go实现(因为其他的都忘了,(╬◣д◢)ムキー!!) 源码地址(你的点赞,是我开源的…...
利用HGT聚类单细胞多组学数据并推理生物网络
单细胞多组学数据允许同时对多种组学数据进行定量分析,以捕捉复杂的分子机制和细胞异质性。然而现有的工具不能有效地推断不同细胞类型的活性生物网络以及这些网络对外部刺激的反应。 来自:Single-cell biological network inference using a heterogen…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
