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

nginx-基础知识(二)

目录

虚拟主机

虚拟主机的功能

虚拟主机的划分方式

基于IP地址进行划分

基于域名进行划分

正向/反向代理

正向代理

反向代理

正向代理和反向代理的区别

负载均衡

负载均衡的类型

负载均衡的作用

nginx并发量比较高的原因

负载均衡的算法

会话保持


虚拟主机

虚拟主机的功能

负责发布需要上传的一些资源

虚拟主机的划分方式

基于端口号进行划分

#使用80端口配置虚拟主机
server {
listen 80 ;
server_name localhost ;
location / {root  /usr/share/nginx/webOne ;index  index.html index.htm ;}
}#使用81端口配置虚拟主机
server {
listen 81 ;
server_name localhost ;
location / {root  /usr/share/nginx/webTwo ;index  index.html index.htm ;}
}#使用82端口配置虚拟主机
server {
listen 82 ;
server_name localhost ;
location / {root  /usr/share/nginx/webThree ;index  index.html index.htm ;}
}

基于IP地址进行划分

#使用192.168.211.145进行虚拟主机的配置
server {
listen 192.168.211.145:80 ;
server_name localhost ;
localtion / {root /usr/share/nginx/webOne ;index index.html index.htm ;}
}#使用192.168.211.155进行虚拟主机的配置
server {
listen 192.168.211.145:80 ;
server_name localhost ;
localtion / {root /usr/share/nginx/webTwo ;index index.html index.htm ;}
}#使用192.168.211.165进行虚拟主机的配置
server {
listen 192.168.211.145:80 ;
server_name localhost ;
localtion / {root /usr/share/nginx/webThree ;index index.html index.htm ;}
}

基于域名进行划分

#使用www.abc.com进行虚拟主机的配置
server {
listen 80;
server_name www.abc.com ;
location / {root /usr/share/nginx/webOne ;index index.html index.htm ;}
}#使用www.bcd.com进行虚拟主机的配置
server {
listen 80;
server_name www.bcd.com ;
location / {root /usr/share/nginx/webTwo ;index index.html index.htm ;}
}#使用www.cde.com进行虚拟主机的配置
server {
listen 80;
server_name www.cde.com ;
location / {root /usr/share/nginx/webThree ;index index.html index.htm ;}
}

正向/反向代理

正向代理

客户端配置代理来代替自己进行请求,使用正向代理时,客户端对服务器来说是透明的,服务端不知道客户端的真是地址,常见的应用为翻墙软件的实现

反向代理

服务端通过设置代理来隐藏自己的真实信息,因此,反向代理过程中,服务端对于客户端是透明的

正向代理和反向代理的区别

正向代理过程中:客户端的请求由代理服务器进行转发,然后获取返回信息后,将返回的信息给客户端,因此过程中客户端的地址对于服务器是透明的;

反向代理过程中,客户端的请求转发给代理服务器,由代理服务器发送给服务端,所以过程中,服务器对于客户端来说是透明的

负载均衡

负载均衡的类型

软件: nginx   haproxy   LVS

特点: 低成本,无需硬件,利用现有服务器资源计科进行部署,开源支持,可以运行在物理机,虚拟机或者容器中

适用于中小型企业或者初创公司

云设备:AWS Elastic Load Balancing(ELB)

支持应用负载均衡,网络负载均衡,和经典负载均衡

使用与云原生或微服务架构,跨国或跨区域业务

硬件:F5, A10 Network Thunder 

特点:高性能,高成本,高可靠性

适用于大型企业或数据中心,对性能和可靠性要求极高的关键业务

负载均衡的作用

如果代理服务器将所有的请求转发给同一台服务器,那么单台主机的压力会比较大,并且单台主机的性能会产生瓶颈,对于业务的影响比较大,因此可以使用负载均衡来对多个相同的web页面或者服务进行代理,从而实现业务性能的提高。当客户端发送请求到代理服务器时,代理服务器将请求通过负载均衡算法分发给不同的后台服务端,从而实现请求的分发,降低了单节点主机的压力,从而提高了整体业务的性能

nginx并发量比较高的原因

首先nginx采用模块化的方式,不同的模块对应不同的功能--常用模块以及作用

其次,nginx采用异步非阻塞的方式进行请求的处理--用自己的话叙述异步非阻塞

最后,nginx采用I/O多路复用来进行消息的处理---用自己的话叙述I/O多路复用

负载均衡的算法

默认算法; 

轮询: 当请求从代理转发到服务器时,代理会挨个对请求进行转发

缺点: 当各个服务器的配置不同时,可能会导致配置较差的服务器产生性能问题

解决方法;

加权轮询: 对于不同的服务端设置不同的权重,权重较大的服务端会被优先分配请求

其他算法;.

ip_hash:当相同的服务端ip进行请求时,总是会使用相同的代理服务器进行请求的返回

url_hash:根据请求的URL进行请求分发,保证相同的URL请求由同一台主机进行返回

缺点:当后台的主机宕机时,所请求的信息不能得到正常的返回结果

lease_conn: 当代理进行请求分发时,优先对连接数较少的主机进行请求的分发

lease_time: 当代理进行请求分发时,根据平均处理时间和连接数量进行请求的分配 

会话保持

ip_hash和url_hash进行会话的保持,可以提高用户的使用体验

http://www.xdnf.cn/news/286.html

相关文章:

  • 为什么计算「网络响应时间」或「定位响应时间」时,CACurrentMediaTime() 比 Date() 更优?
  • MCP系列之架构篇:深入理解MCP的设计架构
  • DeepSeek 操作 MySQL 数据库:使用 MCP 实现数据库查询
  • 【HDFS入门】联邦机制(Federation)与扩展性:HDFS NameNode水平扩展深度解析
  • 【AI提示词】儿童看护员
  • 实验五 内存管理实验
  • 如何在PDF.js中改造viewer.html以实现PDF的动态加载
  • STM32单片机入门学习——第41节: [12-1] Unix时间戳
  • MyBatis如何配置数据库连接并实现交互?
  • YOLOv5、YOLOv6、YOLOv7、YOLOv8、YOLOv9、YOLOv10、YOLOv11、YOLOv12的网络结构图
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(7):(1)ながら 一边。。一边 (2)。。。し。。。し。。 又……又……
  • Vue3后代传祖先组件通讯方法
  • BGP基础实验
  • DeepSeek-R3、GPT-4o 与 Claude-3.5-Sonnet 全面对比:性能、应用场景与技术解析
  • 【信息系统项目管理师】高分论文:论信息系统项目的沟通管理(网管改造工程)
  • C++数据收发管道:构建高效的数据传输通道
  • 【android bluetooth 案例分析 03】【PTS 测试 1】【pts基本介绍】
  • 空调制冷量和功率有什么关系?
  • 算法题(127):最大子段和
  • QT项目----电子相册(2)
  • 极验4 语序验证码 分析 极验4 w
  • WiFi“管家”------hostapd的工作流程
  • Manus AI:突破多语言手写识别技术壁垒之路
  • element-plus添加暗黑模式
  • AI大模型API文档的核心内容概述,以通用框架和典型实现为例
  • 超导材料的应用领域概述
  • UWP特性分析
  • vs如何快速找到多余的#region
  • 吃透LangChain(五):多模态输入与自定义输出
  • 人工智能学习框架完全指南(2025年更新版)