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

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进行会话的保持,可以提高用户的使用体验

相关文章:

  • 架构师面试(三十一):IM 消息收发逻辑
  • ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航
  • 操作系统-PV
  • 高翔《视觉SLAM十四讲》第7章对极几何相关内容,对极约束分析讲解
  • MOSI和MISO别连反了
  • 70. 爬楼梯
  • 在浏览器中输入 URL 到页面加载完成都做了什么
  • HTTP:九.WEB机器人
  • 「数据可视化 D3系列」入门第九章:交互式操作详解
  • Linux学习——守护进程编程
  • Android平台 Hal AIDL 系列文章目录
  • 人工智能应用工程师(工信部教考中心)
  • 信息系统项目管理师_第十一章 项目采购管理
  • C++代码优化
  • 若依同步企业微信架构及ACTIVITI
  • 【VSCode】在 VSCode 中运行 HTML 页面并通过 HTTPS 访问
  • linux查看及修改用户过期时间
  • 【Java面试系列】Spring Boot微服务架构下的分布式事务设计与实现详解 - 3-5年Java开发必备知识
  • 【多线程-第四天-SDWebImage的常见面试题-进一步解读SDWebImage的源代码 Objective-C语言】
  • 使用Docker搭建开源Email服务器
  • 为护航企业“出海”,“无问西东·中外商会”海上沙龙举行
  • 西北政法大学推无手机课堂,有学生称要求全交,学校:并非强制
  • 商务部:敦促美方立即停止极限施压,停止胁迫讹诈
  • 陈宝良:明清时期少林、武当两派的拳法
  • 上海浦东法院两年受理涉民企知识产权案件8984件,总标的超27亿元
  • 《还有明天》的元叙事:告别“很久很久以前”,书写新的故事