Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协定下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler应用。其特点是占有内存少,并发能力强,事实上nginx的并发能力的确在同类型的网页服务器中体现较好。

Nginx相较于Apache\lighttpd具备占有内存少,稳定性低等劣势,并且依附并发能力强,丰盛的模块库以及敌对灵便的配置而闻名。在Linux操作系统下,nginx应用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采纳相似于Epoll的高效事件模型kqueue。

代理服务器

个别是指局域网外部的机器通过代理服务器发送申请到互联网上的服务器,代理服务器个别作用在客户端。

<!-- More -->

反向代理

客户端(用户A)向反向代理的命名空间(name-space)中的内容发送一般申请,接着反向代理将判断向何处(原始服务器)转交申请,并将取得的内容返回给客户端。而客户端始终工作它拜访的事原始服务器B而不是服务器Z。因为防火墙作用,只容许服务器Z进出,防火墙和反向代理独特作用爱护了院子资源服务器B。

用处:将防火墙前面的服务器提供给Internet用户拜访。反向代理还能够为后端的多台服务器提供负载平衡或为后端较慢的服务器提供缓冲服务。

正向代理

正向代理是一个位于客户端A和原始服务器(服务器B)之间的服务器(代理服务器Z),为了从原始服务器获得内容,用户A向代理服务器Z发送一个申请并指定指标(服务器B),而后代理服务器Z向服务器B转交申请并将取得的内容返回给客户端。客户端必须要进行一些特地的设置能力应用正向代理。

用处:在防火墙内的局域网客户端提供拜访Internet的路径。还能够应用缓冲个性缩小网络使用率。

Nginx VS Apache

相同点:

  • 都是HTTP服务器软件
  • 性能上都采纳模块化结构设计
  • 都反对通用的语言接口,如PHP、Perl、Python等
  • 反对正向、反向代理、虚拟主机、URL重写、压缩传输、SSL加密传输

不同点:

  • Apache处理速度很慢,占用很多内存资源
  • 性能上,Apache所有模块反对动动态编译,Nginx模块都是动态编译的
  • 对Fcgi的反对:Apache反对的很不好,Nginx反对十分好
  • 解决连贯形式:Nginx反对epoll,Apache不反对
  • 空间应用上:Nginx安装包仅几百K

Nginx劣势

  • 作为Web服务器,Nginx解决动态文件、索引文件,主动索引的效率十分高
  • 作为代理服务器,Nginx能够实现无缓存的反向代理减速,进步网站运行速度
  • 作为负载平衡服务器,Nginx既能够在外部间接反对Rails和PHP,也能够反对HTTP代理服务器对外进行服务,同时还反对简略的容错和利用算法进行负载平衡
  • 在性能方面,Nginx是专门为性能优化而开发的,实现上十分重视效率。它采纳内核Poll模型,能够反对更多的并发连贯,最大能够反对对5万个并发连接数的响应,而且只占用很低的内存资源
  • 在稳定性方面,Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低。Nginx官网示意,Nginx放弃1万个没有流动的连贯,而这些连贯只占用2.5MB内存,因而,相似DOS这样的攻打对Nginx来说基本上是没有任何作用的
  • 在高可用性方面,Nginx反对热部署,启动速度特地迅速,因而能够在不间断服务的状况下,对软件版本或者配置进行降级,即便运行数月也无需重新启动,简直能够做到7x24小时不间断地运行

Nginx具备很高的稳定性;反对热部署;代码品质十分高,代码很标准,手法成熟,模块扩大也很容易;采纳了一些os提供的最新个性如对sendfile(Linux2.2+),accept-filter(FreeBSD4.1+),TCP_DEFER_ACCEPT(Linux 2.4+)的反对,从而大大提高了性能。

实际记录

目标:

为了通过www.taoweidong.com域名拜访在阿里云服务器上的9000端口搭建的集体博客

过程

装置nginx之后进行配置,应用nginx的代理性能

原理剖析:

这个nginx用来代理本地的9000端口 nginx监听80端口 当客户应用浏览器http://www.taoweidong.com拜访时会被80端口捕捉到,而后nginx会去拜访>本地的9000端口,返回集体博客网页信息。

后果

本文由博客一文多发平台 OpenWrite 公布!