「Nginx实战入门」什么是Nginx_Nginx有哪些优点_

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。

其特点是占有内存少,并发处理能力强,以高性能低资源消耗而闻名,国内有大量网站使用Nginx,比如:百度、京东、新浪、网易、腾讯、淘宝等。由于在日常工作中,我们不可避免地要接触和使用这样一款高性能的web服务器,所以我们非常有必要学习和掌握Nginx。

Nginx是什么?

Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。

Nginx 的模块从结构上分为核心模块、基础模块和第三方模块:

1. 核心模块:HTTP 模块、 EVENT 模块和 MAIL 模块

2. 基础模块: HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite模块,

3. 第三方模块:HTTP Upstream Request Hash 模块、 Notice 模块和 HTTP Access Key模块。

Nginx 的高并发得益于其采用了 epoll 模型,与传统的服务器程序架构不同,epoll 是linux 内核 2.6 以后才出现的。 Nginx 采用 epoll 模型,异步非阻塞,而 Apache 采用的是select 模型。

Select 特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,select 需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。epoll 的特点:epoll 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高。

Nginx具有以下几个优点:

1. 高并发,高性能

2. 可扩展性好

3. 高可靠,一年之中停机时间可能只有几秒

4. 热部署,可以不重启升级

5. 灵活性高,采用BSD许可证

目前Nginx有三个主要的产品:

官方Nginx。包含开源版(nginx.org)和商业版(nginx.com)

阿里巴巴的Tengine。Tengine是由淘宝网发起的Web服务器项目,目前已经开源

OpenResty。OpenResty通过Lua对Nginx进行扩展,使得扩展Nginx模块变得异常轻松

针对我们日常学习来说,选择官方开源版的Nginx以及OpenResty就可以了。

快速掌握Nginx

动力节点的Nginx视频教程,全面讲授了Nginx的配置与使用、企业应用实践(静态代理、负债均衡、动静分离、虚拟主机等),学习本课程,可以快速地掌握Nginx这样一款高性能的web反向代理服务器。

Nginx应用实战视频教程

https://www.bilibili.com/video/BV11V411C7r9

Nginx应用实战教程配套资料下载

?toutiao

学习目录

•001.Nginx:Nginx介绍

•002.Nginx:反向代理

•003.Nginx:正向代理

•004.Nginx:安装-安装前的准备

•005.Nginx:安装

•006.Nginx:命令-启动Nginx

•007.Nginx:命令-关闭Nginx

•008.Nginx:命令-其他命令

•009.Nginx:配置文件解读-基础配置

•010.Nginx:配置文件解读-工作模式和链接数

•011.Nginx:配置文件解读-HTTP服务器

•012.Nginx:部署静态Web服务器

•013.Nginx:负载均衡-硬件和软件负载

•014.Nginx:负载均衡部署myweb项目

•015.Nginx:负载均衡策略介绍

•016.Nginx:负载均衡策略实现

•017.Nginx:负载均衡-其他配置

•018.Nginx:静态代理

•019.Nginx:动静分离-部署p2p项目

•020.Nginx:动静分离-p2p项目负载均衡

•021.Nginx:动静分离-p2p项目实现动静分离

•022.Nginx:虚拟主机应用场景

•023.Nginx:虚拟主机部署多城市站点