zoukankan      html  css  js  c++  java
  • 第二节: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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
     
  • 相关阅读:
    Ubuntu 装JDK
    U盘文件夹被病毒隐藏,且不能取消解决办法
    wireshark: there are no interfaces on which a capture can be done
    [转]Ubuntu 常用快捷键10个
    恢复被win7覆盖的Ubuntu Grub
    U盘安装Win7 64位
    荣耀3X畅玩版狙击红米note!
    Secret and Whisper
    360 chrome不能登录Google账户
    周鸿祎仍想做手机
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/14138869.html
Copyright © 2011-2022 走看看