第二节:Nginx简介和Win、Linux、Docker下不同的安装方式详解

一. Nginx简介

1. 简介

 Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能。Nginx 相对基它WEB服务有什么优势呢?

(1). Tomcat、Jetty 面向java语言,先天就是重量级的WEB服务器,其性能与Nginx没有可比性。

(2). IIS只能在Windows操作系统上运行。Windows作为服务器在稳定性与其他一些性能上都不如类UNIX操作系统,因此,在需要高性能Web服务器的场合下IIS并不占优。

(3). Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,其有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能Web服务器,这也促使了Lighttpd和Nginx的出现。 下图可以看出07年到17 年强劲增长势头。

 

 官网:http://www.nginx.org/     (各版本下载、文档介绍)

 源码:https://trac.nginx.org/nginx/browser

2. 架构说明

 (1). nginx启动时,不处理网络请求,主要负责调度工作进程,也就是图示的三项:加载配置、启动工作进程及非停升级。所以,nginx启动以后,查看操作系统的进程列表,我们就能看到至少有两个nginx进程。

 (2). 服务器实际处理网络请求及响应的是工作进程(worker),在类unix系统上,nginx可以配置多个worker,而每个worker进程都可以同时处理数以千计的网络请求。

 (3). 模块化设计。nginx的worker,包括核心和功能性模块,核心模块负责维持一个运行循环(run-loop),执行网络请求处理的不同阶段的模块功能,如网络读写、存储读写、内容传输、外出过滤,以及将请求发往上游服务器等。而其代码的模块化设计,也使得我们可以根据需要对功能模块进行适当的选择和修改,编译成具有特定功能的服务器。

 (4). 事件驱动、异步及非阻塞,可以说是nginx得以获得高并发、高性能的关键因素,同时也得益于对Linux、Solaris及类BSD等操作系统内核中事件通知及I/O性能增强功能的采用,如kqueue、epoll及event ports。

 

3. 核心技术点

 (1). 配置文件语法介绍

 (2). 各种操作指令

 (3). 动静分离

 (4). 防盗链

 (5). 多域名站点

 (6). 下载限速

 (7). IP黑名单

 (8). 基于user-agent分流

 (9). 日志配置

 (10). 负载均衡配置

 (11). 高速缓存

 (12). 性能参数调优

(PS: 后面章节将重点介绍这些功能)

二. 不同安装详解

  在之前系列的文章中已经分别整理过,这里简单将不同系统下的安装和使用方式汇总一下。

  Windows下的安装和使用:        https://www.cnblogs.com/yaopengfei/p/12499588.html

  Linux(Centos)下的安装和使用:https://www.cnblogs.com/yaopengfei/p/13766324.html

                 https://www.cnblogs.com/yaopengfei/p/13766711.html

  Docker下的安装和使用:           https://www.cnblogs.com/yaopengfei/p/13630267.html

                         https://www.cnblogs.com/yaopengfei/p/13672708.html

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
原文地址:https://www.cnblogs.com/yaopengfei/p/14138869.html