Nginx学习

Nginx学习

一、集群

1、什么是集群(分布式服务器架构)

  • 集:合在一起、放在一起
  • 群:一堆、很多
  • 服务器架构集群:多台服务器组成的响应大并发,高数据量访问的架构体系。
    • 特点:
      • 成本高
      • 能够降低单台服务器的压力,使流量平均分配到多台服务器
      • 使网站服务架构更加安全稳定
  • 服务器:提供某种或者多种服务(功能)的机器(计算机)
    • 硬件:性能较好的电脑主机
    • 软件:实现各种服务支持的协议的软件

1.1、web服务软件

  • 功能:提供http、https协议的服务器,网站网页访问的功能。
  • 服务
    • apache:老牌的服务器软件,功能多并且稳定,支持多种配置,lamp环境
    • nginx:(俄罗斯人开发)安装简单小巧,并发量高,正在发展中,可以做web服务器、代理(反代理)服务器、邮箱服务器,lnmp环境
    • 国内淘宝定制版的nginx:tengine(由淘宝网发起的web服务器项目,它在nginx的基础上针对大访问量网站的需求,添加了很多高级功能和特性
    • IIS:微软公司,为ASP脚本使用,可以通过fast-cgi(网络接口服务)的方式使用php
    • lighttpd:德国开发软件,小巧,提供web服务支持,cpu占有率低,访问速度快

1.2、数据库

  • 关系型数据库(RDBMS)
    • mysql:开源,属于oracle
    • mariadb:mysql的一个分支,语法类似于mysql
    • postgresql:加州伯克利大学,学院派
    • oracle:大型商业数据库
    • sqlserver:微软数据库
    • DB2:IBM公司的数据库
    • sqllite3:手机端(iOS和安卓)使用
  • 非关系型数据库
    • memcached
    • redis
    • mongodb

1.3、负载均衡

  负载均衡服务器,分发请求到不同的服务器,使流量平均分配。

  服务器死机,称为宕机。

  • 硬件级别:F5,性能好,价格高
  • 软件级别:性价比高
    • lvs:Linux下分发软件
    • nginx:upstream功能分发

1.4、资源服务器

  资源服务器存储静态资源,css、js、图片、视频等。一般此服务器会有硬盘(ssd固态)读写快速,带宽更大。

1.5、反向代理

  反向代理服务器具有代理请求到对应的服务器的功能,也具有缓存的功能。

  • 代理服务器:举个栗子,a要访问c,但a不能访问c;b可以访问c,a可以访问c;所以a告诉b,帮忙访问c,把c的数据返回给a。
    • 正向代理:内网访问外网
    • 反向代理:外网访问内网
      • squid
      • varnish:高性能的开源http加速器。
      • nginx

1.6、高可用

  高可用服务器,用来监控负载均衡服务器,如果一旦负载均衡服务器宕机,会接替负载均衡服务器的工作,继续进行网络的分发工作。
可以认为是负载均衡服务器的备用服务器。

  • heartbit:心脏敲击
  • keeplive:保持活跃

1.7、缓存软件

  • memcached
  • redis

1.8、cdn内容分发

  cdn:(Content Delivery Network)内容分发网络。基本思路是尽可能避开影响速度的瓶颈和环节,通过在网络各处放置节点服务器所构成
的在现有的互联网基础之一的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合
信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的
响应速度。

服务器的组织架构