Nginx分布式与集群概述

Nginx

本章知识点 架构知识点

三 分布式与集群概述

在这里插入图片描述

3.1 概述

分布式计算是计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
    
架构师:用最少的成本  让你的程序 高可用与高可靠 

3.2 服务器克隆

关机状态下 选中虚拟机右键 ---管理---克隆--》下一步--》下一步--》创建完整的克隆--》名字 位置 克隆

进入克隆的虚拟机:
  第一步:  修改网络地址 改成 具体IP  
  第二步:  重启网卡驱动  service   network  restart
  第三步:  修改主机名称  vim    /etc/hostname
  第四步:   重启  init 6
  第五步:   xshell链接

在这里插入图片描述

四 Nignx使用

4.1 Nginx简介

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004104日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。201161日,nginx 1.0.4发布。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

4.2 正向代理和反向代理

正向代理

正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,客户端才能使用正向代理。我们平时说的代理就是指正向代理。

AC借钱,由于一些情况不能直接向C借钱,于是A想了一个办法,他让B去向C借钱,这样B就代替AC借钱,A就得到了C的钱,C并不知道A的存在,B就充当了A的代理人的角色。

反向代理 

反向代理(Reverse Proxy),以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。

 AB借钱,B没有拿自己的钱,而是悄悄地向C借钱,拿到钱之后再交给A,A以为是B的钱,他并不知道C的存在 

反向代理服务器可实现三大功能:

\1. 保护网站安全。客户端无法直接访问到网站的web服务器,所有请求必须先经过反向代理服务器,相当于在web服务器和可能的网络攻击之间建立了一个屏障。

\2. 缓存网站的静态资源,提高网站的响应速度。当用户第一次访问静态内容的时候,静态内容就被缓存在反向代理服务器上,这样当其他用户访问该静态内容的时候,就可以直接从反向代理服务器返回,加速web请求响应速度,减轻web服务器负载压力。

\3. 负载均衡。反向代理服务器位于web服务器前面,这个位置正好也是负载均衡服务器的位置,所以大多数反向代理服务器同时提供负载均衡的功能。

实现负载均衡的服务器我们称之为负载均衡服务器,因为反向代理服务器所处的位置与负载均衡服务器所处的位置一致,所以大多数的反向代理服务器同时提供负载均衡的功能。要想实现负载均衡的功能,必须先实现反向代理的功能。当反向代理服务器代理的是一个web服务器集群而不是单个web服务器时,这就是负载均衡了。负载均衡指的是多个服务器共同完成一件事情,核心是“分摊压力”。Ngnix实现负载均衡指的是将请求转发给服务器集群。Ngnix默认处理负载均衡的方式是“轮询”,我们可以通过weight来调整权重

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vb0T4zLm-1665587877706)(…/…/课件/qy134/框架/nginx/assets/wps1.png)]

4.3 nginx特点

· 跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。
· 配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置
· 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到23万并发连接数.(这得益于Nginx使用了最新的epoll模型)
· 事件驱动:通信机制采用epoll模型,支持更大的并发连接。

4.4 内部进程模型

在这里插入图片描述

Nginx是以多进程的方式来工作的,当然Nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是Nginx的默认方式。Nginx采用多进程的方式有诸多好处。 

Nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控 worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。而基本的网络事件,则是放在worker进程中来处理了。多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。worker进程的个数是可以设置的,一般我们会设置与机器CPU核数一致,这里面的原因与Nginx的进程模型以及事件处理模型是分不开的。

4.5 处理请求

​ 首先,Nginx在启动时,会解析配置文件,得到需要监听的端口与IP地址,然后在Nginx的master进程里面,先初始化好这个监控的socket(创建socket,设置addrreuse等选项,绑定到指定的IP地址端口,再listen),然后再fork(一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程 )出多个子进程出来,然后子进程会竞争accept新的连接。

此时,客户端就可以向Nginx发起连接了。当客户端与Nginx进行三次握手,与Nginx建立好一个连接后,某一个子进程会accept成功,得到这个建立好的连接的socket,然后创建Nginx对连接的封装,即ngx_connection_t结构体。

接着,设置读写事件处理函数并添加读写事件来与客户端进行数据的交换。最后,Nginx或客户端来主动关掉连接,到此,一个连接就寿终正寝了。

4.6 nginx的安装

克隆一台虚拟机  修改ip地址 端口号  重启  xshell连接

nginx是基于c实现
    
安装Nginx所需的三个插件gcc、pcre、pcre-devel、zlib
A gcc
linux中的gcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将CC++语言源程序和目标程序编译、连接成可执行文件。
查看gcc版本:gcc -v
安装gcc:yum -y install gcc-c++

B 安装pcre、pcre-devel
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
安装pcre:yum install -y pcre pcre-devel

C  zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
安装: yum install -y zlib zlib-devel

 在home目录下 创建一个文件夹  mkdir  /home/nginx
 移动到当前目录              cd   /home/nginx
 下载nginx的安装包          wget http://nginx.org/download/nginx-1.9.9.tar.gz
 解压压缩包                 tar  -zxvf   ng
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值