Nginx V1.19.5 官方中文版

Nginx V1.19.5 官方中文版
软件大小:1.64 MB
语言:简体中文
更新日期:2021-12-08
  • 无插件
  • 无毒
  • 无害
系统介绍
  Nginx (“engine x”)是一个高性能的HTTP ,也是一个IMAP/POP3/SMTP。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx。

Nginx

  Nginx 解决了服务器的C10K(就是在一秒之内连接客户端的数目为10k即1万)问题。 Nginx的设计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制—事件驱动机制,是一种异步事件驱动结构。

  虽然目前Nginx的份额在市场上只占很少部分,但是其高性能和低消耗内存的结构,使得其越来越普遍,典型的一个应用就是我们可以使用Nginx作为反向代理进行网站的负载均衡器。例如:Wordpress、GitHub等知名的网站都使用到了Nginx。

Nginx的特点

  跨平台:可以在大多数Unix like 系统编译运行。而且也有Windows的移植版本。

  配置异常简单:非常的简单,易上手。

  非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能支持5万并发连接,实际生产中能跑2~3万并发连接数(得益于Nginx采用了最新的epoll事件处理模型(消息队列)。

  Nginx代理和后端Web服务器间无需长连接;

  Nginx接收用户请求是异步的,即先将用户请求全部接收下来,再一次性发送到后端Web服务器,极大减轻后端Web服务器的压力。

  发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端。

  网络依赖性低,理论上只要能够ping通就可以实施负载均衡,而且可以有效区分内网、外网流量。

  支持内置服务器检测。Nginx能够根据应用服务器处理页面返回的状态码、超时信息等检测服务器是否出现故障,并及时返回错误的请求重新提交到其它节点上。

  采用Master/worker多进程工作模式

  此外还有内存消耗小、成本低廉(比F5硬件负载均衡器廉价太多)、节省带宽、稳定性高等特点。

Nginx的基本功能

  Nginx的功能包括基本HTTP功能和扩展功能。和Apache服务器一样,Nginx服务器为了提供更多的功能并且能够有效地扩展这些功能。每一个模块都提供了一个功能,通过编译这些功能模块来实现功能的扩展。

  1、基本HTTP功能

  (a)提供静态文件和index文件,处理静态文件,索引文件以及自动索引,打开文件描述符缓存;

  (b)使用缓存加速反向代理,反向代理加速(无缓存),简单的负载均衡和容错;

  (c)使用缓存机制加速远程FastCGI,简单的负载均衡和容错;

  (d)模块化的结构。过滤器包括gzipping,byte ranges,chunked responses,以及 SSI-filter。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;

  (e)支持SSL 和 TLS SNI 支持;

  (f)IMAP/POP3代理功能;

  (g)使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端;

  (h)使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;

  2、其他HTTP功能

  (a)基于名称和基于IP的虚拟服务器;

  (b)支持Keep-alive和管道连接;

  (c)灵活的配置和重新配置、在线升级的时候不用中断客户访问的处理;

  (d)访问日志的格式,缓存日志写入和快速日志轮循;

  (e)3xx-5xx错误代码重定向;

  (f)速度限制。

Nginx的基本模块

  Nginx的核心模块包括内核模块和事件驱动模块,即:CoreModule和EventsModule;另外还有第三方模块 HTTP内核模块,HttpCoreModule,它是Nginx服务器的核心模块。

  CoreModule和EventsModule模块的配置相对于HttpCoreModule会少一些,但是它们的配置将会影响系统的性能,而非功能上的差异。

  1、CoreModule用于控制Nginx服务器的基本功能;

  2、EventsModule用于控制Nginx如何处理连接。该模块的指令的一些参数会对应用系统的性能产生重要的影响;

  3、HttpCoreModule提供HTTP访问Nginx服务器,该模块是不能缺少的。

Nginx配置安装的环境

  1、yum -y install gcc* epel-release curl curl-devel mcrypt openssl openssl-devel gd gd-devel freetype freetype-devel zlib zlib-devel zip libmcrypt-devel libmcrypt pcre-devel libevent-devel ncurses-devel libxml2* mcrypt* libmcrypt* cmake gcc* lrzsz ntp telnet

  2、创建用户

  useradd -s /sbin/nologin web

  3、创建nginx的安装目录(此步骤可以省略)

  mkdir -p /usr/local/nginx

  chown -r web:web /usr/local/nginx

  4、拷贝下载好的软件包到/usr/src/目录

  5、解压Nginx安装包

  tar -zxf /usr/src/tengine-2.1.2.tar.gz

  cd /usr/local/tengine-2.1.2/

  6、进行检测

  ./configure --prefix=/usr/local/nginx --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre

  7、编译

  make

  8、安装

  make install

  9、启动nginx /usr/local/nginx/sbin/nginx