目录

一、nginx概念

二、nginx特点

三、nginx应用场景

四、nginx和apache

五、阻塞和非阻塞

六、同步和异步

七、编译安装nginx

八、升级nginx

九、总结

一、nginx概念  1.nginx概念

    Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器。Nginx 是由 Igor Sysoev 为俄 罗斯访问点开量第二的 Rambler.ru 站发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

  2.nginx版本

    第一个公开版本 0.1.0

    目前版本1.25.1

    特殊版本:Tengine淘宝网二次创作版本

二、nginx特点  1.nginx特点

    (1)高性能、轻量级web服务软件

    (2)稳定性高

    (3)资源消耗低

    (4)对http并发连接的处理能力高

        单台物理服务器可支持30000-50000个并发请求

三、nginx应用场景  1.nginx应用场景

    (1)静态服务器 (图片、视频服务、文本)

    (2)动态服务

    (3)反向代理, 负载均衡

    (4)缓存服务

四、nginx和apache  1.简述Nginx和Apache的差异

    (1)Nginx是一个甚于事件的Web服务器,Apache是一个基于流程的服务器;

    (2)Nginx避免子进程的概念,Apache是基于子进程的;

    (3)Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般;

    (4)Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件;

    (5)Nginx支持热部署,Apache不支持热部署;  

    (6)Nginx对于静态文件处理具有更高效率,Apache相对一般;

    (7)Nginx在反向代理场景具有明显优势,Apache相对一般。

  2.Nginx 相对于 Apache 的优点

    (1)轻量级,同样是 web 服务,比 Apache 占用更少的内存及资源 ;

    (2)高并发,Nginx 处理请求是异步非塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;

    (3)高度模块化的设计

    (4)编写模块相对简单;

    (5)社区活跃,各种高性能模块出品迅速。

  3.Apache 相对于 Nginx 的优点

    (1)rewrite,比 Nginx 的 rewrite 强大;模块超多,基本想到的都可以找到;

    (2)少 bug ,Nginx 的 bug相对较多;

    (3)超稳定存在就是理由,一般来说,需要性能的 web 服务,用 Nginx 。如果不需要性能只求稳定,那就Apache。

       Nginx 处理动态请求是弱项,一般动态请求要 Apache 去做,Nginx 只适合静态和反向。

五、阻塞和非阻塞  1.阻塞

     必须一个一个的处理,一个任务处理完后下一个才能处理,当一个任务正在处理中,下一个只能等待,形成阻塞。 

      例子:顾客买衣服,一个顾客买,进入试衣间,第二个顾客被门阻塞,只能等第一个顾客出来才能进入。

  2.非阻塞

     可以一起进行处理,没有阻拦,不分先后,无序的。

      例如:买衣服可以不被阻拦,所有人都可以进入试衣间。

六、同步和异步   1.同步

      一群任务,一个完成才能继续完成一个任务。

      例子:一群人点菜,必须一个点完上菜后,下一个人才能点。

   2.异步

      一群任务,可以一起执行,不分先后,无序执行。

      例子:一群人点菜可以一起点一起上菜。

七、编译安装nginx  1.关闭防火墙,将安装nginx所需软件包传到/opt目录下

  2.安装依赖包 

  3.创建运行用户与组

  4.编译安装Nginx

  5.指定nginx的安装路径和模块安装

  6.make &&make install

  7.让系统识别nginx的操作命令

  8.检查配置文件是否又错误

  9.启动成功

  10.添加 Nginx 系统服务

  11.将nginx加入系统服务,重启服务

  12.nginx主配置文件nginx.conf

  配置使用 epoll 模型,文件最大1024

  13.nginx-t检查配置文件

  14.网站验证

八、升级nginx

  1.下载新版本包,并解压

  2.配置安装路径和模块安装

  3.make

  4.先关闭nginx,再覆盖文件

  5.查看版本

  6.网页验证

九、总结

  nginx服务主要时轻量级,资源耗费少的网站服务,稳定性高,资源消耗低,并发处理高。只有cpu,文件打开数量受到影响。阻塞和非阻塞,异步和同步,为了性能高,只能放弃稳定性选择异步非阻塞。主要应用于静态服务器,动态服务,反向代理,负载均衡,缓存服务。