1、简介

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx
是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发, 因它的稳定性、丰富的功能集、示例配置文件和
低系统资源的消耗而闻名。
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like
协议下发行。特点是占有内存少, 并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好, 国
内使用 nginx 网站用户有:百度、 京东、 新浪、 网易、 腾讯、 淘宝等。

2、 功能

(1) web 服务(http)
(2)负载均衡(反向代理 proxy)
(3) web 缓存(web cache)

3、 优点

(1)高并发(静态小文件)。静态并发 1-2 万
(2)占用资源少。 2 万并发,开 10 个线程服务,内存消耗才几百 M
(3)功能种类比较多(web、 cache、 proxy)。但每个功能都不是特别强
(4) 支持 epoll 模型,使得 nginx 可以支持高并发
(5) nginx 配合动态服务和 apache 有区别
(6)利用 nginx 可以对 IP 限速,也可以限制连接数
(7)配置简单、灵活

4、 LNMP 实现原理和架构(Linux Nginx MySQL PHP)

(1) LAMP 实现:
用户请求-->Apache(:80) -->php 模块(libphp5.so) -->mysql
(2) LNMP 实现:
用户请求-->Nginx(:80) -->php 服务(FCGI :9000 ) -->mysql
当访问 php 页面时, Nginx 通过配置文件是指定的 php 解析器,用 fastcgi_passu 将请求以 http ip:9000
的形式抛给 FCGI 解析.

5、 Nginx 的应用场合

(1)静态服务器
主要是图片、视频等服务,文件后缀名主要是.html、 .js、 css、 flv 等。另一个常用工具是 lighttpd(百度贴
吧在用)。并发一般是 1-3 万
(2)动态服务
主要是 nginx+FaseCGI的方式运行 php、jsp等程序。并发一般在 500-1500.主要的瓶颈是在 FaseCG和 MySQL。
FaseCGI 的并发一般在 500-1500, MySQL 的并发一般是 300-1500。 相当于 Apache+php 或 lighttpd+FCGI php
(3)反向代理(负载均衡)
日 PV 在 2000 万以下的,都可以直接用 Nginx 做代理。竞争对手是 haproxy(软件)、 F5(硬件)、 A10(硬件)。
(4)缓存服务
相当于 Squid 或 Varnish

6、 主流 WEB 服务产品对比

(1) Apache
a、 2.2 版本非常稳定强大,据官方说 2.4 版本性能超强。
b、 Prefork 模式取消了进程创建开销,性能很高。
c、 处理动态业务数据时,因关联到后端的引擎和数据库,瓶颈不在于 Apache 本身。
d、 基于传统的 select 模型,高并发时消耗系统的资源相对多一些。
e、扩展库采用 DSO 方法。如通过 apxs 安装 php 模块
h、功能多、插件多、更稳定、更安全
(2) Nginx
a、 基于异步 IO 模型(epoll、 kqueue),性能强,能支持上万并发。
b、 对于小文件支持很好,性能很高(限静态小文件 1M)。
c、 代码优美,扩展库必须编译进主程序。
d、 系统的资源比较低。

Nginx入门篇(一)之Nginx介绍的更多相关文章

  1. Nginx入门篇

    Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 ...

  2. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

  3. Nginx入门篇(七)之Nginx+keepalived高可用集群

    一.keepalived介绍 keepalived软件最开始是转为负载均衡软件LVS而设计,用来管理和监控LVS集群系统中各个服务节点的状态,后来又加入了可实现高可用的VRRP功能.所以Keepali ...

  4. Nginx入门篇(六)之反向代理和负载均衡

    一.Nginx负载均衡集群 介绍 负载均衡(Load Balance)集群提供了一种行之有效的办法,来扩展网络设备和服务器负载.带宽和吞吐量,同时加强了网络数据处理能力,提供了网络的灵活性和可用性. ...

  5. nginx入门篇----安装、部署、升级

    1.安装前准备工作下载nginx安装包依赖包:gcc pcre pcre-level  zlib zlib-devel openssl openss-level在线依赖包安装命令:yum -y ins ...

  6. Nginx入门篇(五)之LNMP环境应用

    一.LNMP组合工作原理 (1)用户通过浏览器输入域名请求Nginx web服务: (2)Nginx对请求的资源进行判断,如果是静态资源,则由Nginx返回给用户:如果是动态请求(.php文件),那么 ...

  7. Nginx入门篇(四)之常用配置解析

    1.Nginx状态信息功能 Nginx的模块当中有一个ngx_http_stub_status_module模块,这个模块主要记录Nginx的基本访问信息,要使用该模块,需要在编译的时候增加http_ ...

  8. Nginx入门篇(三)之虚拟主机配置

    一.虚拟主机概念 所谓虚拟主机,在Web服务当中就是一个独立的网站站点,这个站点对应独立的域名(也有可能是IP或者端口),具有独立的程序和资源目录,可以独立地对外提供服务供用户访问. 这个独立的站点在 ...

  9. Nginx入门篇(二)之Nginx部署与配置文件解析

    一.Nginx编译安装 ()查看系统环境 [root@localhost tools]# cat /etc/redhat-release CentOS Linux release (Core) [ro ...

  10. Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

    建议:先阅读Nginx+keepalived主从配置,因为此篇是接着上篇开始的 上一篇我们简单的介绍了主从配置及其缺点,我们看一下双主热备配置: 2台Nginx+keepalived互为主备,各自绑定 ...

随机推荐

  1. BZOJ 1588 营业额统计 set

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1588 题目大意: 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交 ...

  2. Hadoop学习之路(二十八)MapReduce的API使用(五)

    求所有两两用户之间的共同好友 数据格式 A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D, ...

  3. EF中連表查詢的應用方式

    1.首先我們想讓列表頁顯示兩個表的共同數據 這裡有兩張表 public class mytype    {        public int mytypeID { get; set; }       ...

  4. USDT/BTC/ETC/HT的解释

    USDT 泰达币 泰达币(USDT)是Tether公司推出的基于稳定价值货币美元(USD)的代币Tether USD(下称USDT),1USDT=1美元,用户可以随时使用USDT与USD进行1:1兑换 ...

  5. Oracle数据库常用命令(持续更新)

    1. 查询当前用户所有的表 select * from user_tables; 2. 查询当前用户能访问的表 select * from all_tables; 3. 获取表字段 select * ...

  6. 日志采集框架Flume

    前言 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中 ...

  7. 我的QT5学习之路(四)——信号槽

    一.前言 前面说了Qt最基本的实例创建.控件以及工具集的介绍,相当于对于Qt有了一个初次的认识,这次我们开始认识Qt信号通信的重点之一——信号槽. 二.信号槽 信号槽是 Qt 框架引以为豪的机制之一. ...

  8. MySQL导出表结构方法

    方法一: 以下用的是Navicat Premium,可以换成任意图形化客户端 SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHAR ...

  9. 并发编程(三)------并发类容器Copy-On-Write容器

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.JDK里的COW容器有两种: CopyOnWriteArrayList CopyOnWriteArraySet CopyOnWri ...

  10. DB数据源之SpringBoot+Mybatis踏坑过程实录系列(一)

    DB数据源之SpringBoot+MyBatis踏坑过程(一) liuyuhang原创,未经允许进制转载 系列目录 DB数据源之SpringBoot+Mybatis踏坑过程实录(一) DB数据源之Sp ...