文档章节

Nginx服务概述和安装(资源)

寰宇01
 寰宇01
发布于 2018/05/25 16:26
字数 18790
阅读 43
收藏 0

web服务器是“通过HTTP协议处理web请求的计算机系统”(a computer system that processes requests via HTTP)。这个词可以指代整个系统,也可以指代可接收和管理HTTP请求的的程序。本文中介绍的web服务器指的是为终端用户处理web请求的程序。

 

web服务的工作方式

常见的3中模型  :   多进程方式,多线程方式,异步方式。web服务器响应用户的请求,必须以某种方式工作在套接字上。

  1. 多进程方式:为每个请求启动一个进程来处理。但是在操作系统中,生成进程,销毁进程都会大量消耗cpu资源,因此一旦负载提高时候,性能会出现明显的下降。
    优点:稳定 由于采用的是独立的进程响应请求,进程之前的独立性保障了一旦单个进程出现问题,不会影响到其他进程的正常运行,因此具有很强的稳定性。
    缺点:资源占用高当服务器负载较高时,同样由于每个进程负责响应一个用户的请求,用户请求数量较多,进程生成数量也会增多,进程资源申请,进程生成,进程切换都会消耗更多的资源。同时进程之间的隔离性也会造成大量的内存重复资源占用大量内存空间。
      
    2.多线程方式:一个进程中生成多个线程,由线程来负责处理用户的请求,由于线程的开销会小于进程,同时进程作为线程的容器,所以在一定的程度上,进程的资源也可以被线程所共享,一定程度上节约了内存空间。
    优点:资源开销小线程间部分数据可以共享,且线程切换消耗明显小于进程。
    缺点:稳定性线程之前的频繁的切换,有一定的可能性会造成线程的抖动,而且线程过多也会在一定程度上造成服务器的不稳定。
      
    3.异步方式使用了非阻塞方式来处理用户请求,开销最小。但是异步方式虽然效率很高,多任务之前的调度一旦出现问题,可能会导致整体的故障,所以使用异步方式,一般会是一些功能相对简单,且代码中没有影响调度的错误的程序。
    优点:性能极好一个进程或者线程来处理多个请求,没有额外开销,性能优异,资源占用少。
    缺点:稳定性一旦出现问题,可能导致大量请求无法处理。

web请求的工作流程  :

            1.客户端发起请求到服务器的对外网卡;
            2.服务器网卡收到请求后转交给内核处理;
            3.内核根据请求的对应套接字,将请求交给工作在用户空间的web服务器进程;
            4.web服务器进程根据用户的请求,向内核申请系统调用,申请获得对应的资源(例如静态页面资源);
            5.内核根据web服务器的请求发现它申请的是是一个磁盘文件,因此通过调用磁盘驱动程序连接磁盘;
            6.内核调度磁盘,获取所需要的资源;
            7.内核将资源存放在自己的缓冲区内,接下来通知web服务器进程来获取资源;
            8.web服务器进程通过系统调用获得资源;
            9.web服务器进程生成响应报文,通过系统调用发给内核来响应用户的请求;
           10.内核将响应的报文发往网卡;
           11.网卡将响应数据包发送给用户,响应结束。

  
        总结
         客户端向服务器端发送web请求的过程有两个I/O的过程,1.客户端请求的网络I/O;2.web服务器请求页面的I/O。

 I/O模型介绍             :     http://blog.51cto.com/11010461/2138943

 

nginx概述:

        Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器。 Nginx 是由 Igor Sysoev(伊戈尔·塞索耶夫)为俄罗斯访问量第二的 rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。

        Nginx能够选择高效的epoll(Linux2.6内核)作为网络I/O)模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,它能够支持高达5000个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。

           Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理, nginx应用比较多的场景WEB服务器反向代理服务器 ,另外Nginx可以作为反向代理进行负载均衡的实现

     1、WEB服务器:这是应用比较多的场景,配置虚拟主机提供HTTP WEB服务。可以先通过动态/静态内容分离,而后为静态内容(html/css/js/图片等)提供HTTP访问功能;而动态内容可以整合代理模块,代理给上游服务器,来支持对外部程序的直接调用或者解析,如FastCGI支持PHP。

     2、反向代理服务器:这是应用非常多的场景,为后端服务器代理。接收客户端请求,根据负载均衡策略转发给后端多个上游服务器处理;然后再等待后端服务器返回请求响应,接收到后再返回给请求的客户端。

          Nginx是一个基于c语言开发的高性能http服务器及反向代理服务器。并在一个BSD-like 协议下发行,由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

         nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。

          常见软、件负载均衡器:F5Array、Nginx、LVS、HAProxy

          一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。worker进程的个数是可以设置的一般我们会设置与机器cpu核数一致,这里面的原因与nginx的进程模型以及事件处理模型是分不开的。

         其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

      Nginx HTTP核心配置 主要是http块server块和location块的配置,包括HTTP核心模块(ngx_http_core_module)和一些扩展模块(如ngx_stream_ssl_module),提供管理WEB服务器级别的行为。

      Nginx是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行,可以在 UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows 等操作系统中运行。

Nginx由内核和模块组成,Nginx的模块从结构上分为核心模块、基础模块和第三方模块HTTP模块、EVENT模块和MAIL模块等属于核心模块,HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rerite模块属于基本模块,而HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块属于第三方模块,用户根据自己的需要开发的模块都属于第三方模块,正是有了这么多模块的支撑,Nginx的功能才会如此强大。

常用的Nginx模块以及作用  :

       rewrite模块,实现重写功能 

       access模块:来源控制

       ssl模块:安全加密 

       ngx_http_gzip_module:网络传输压缩模块

       ngx_http_proxy_module 模块实现代理

       ngx_http_upstream_module模块实现定义后端服务器列表

       ngx_cache_purge实现缓存清除功能

Nginx的模块从功能上分为三类 ,分别是 : 

(1)Handlers (处理器模块)。此类模块直接处理请求,并进行输出内容和修改headers信息等操作。handlers处理器模块一般只能有一个。

(2)Filters (过滤器模块)。此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。
(3)Proxies(代理类模块)。就是Nginx的HTTP Upstream之类的模块,这些模块主要与后端一些服务比如fastcgi等操作交互,实现服务代理和负载均衡等功能。

Nginx的模块直接被编译进Nginx,因此属于静态编译方式,启动Nginx后,Nginx的模块被自动加载,不像在Apache一样,首先将模块编译为一个so文件,然后在配置文件中指定是否进行加载。在解析配置文件时,Nginx的每个模块都有可能去处理某个请求,但是同一个处理请求只能由一个模块来完成。

Nginx是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等。反向代理中,常见的一个问题,就是Web服务器存储的session数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。


解决方案主要有两种:

 

  • 配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。

  • 将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。

 

反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web服务器继续增加,它本身可能成为系统的瓶颈。

   Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,

    反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。

   反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

代理服务器,通常只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

Nginx 的三个主要应用场景

同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。

解决方案主要有两种:
1)配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。
2)将session这类的信息,专门用某个独立服务来存储,例如Redis/memchache,这个方案是比较推荐的。

 

反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。
但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web服务器继续增加,它本身可能成为系统的瓶颈。

反向代理服务器通常有两种模型,它可以作为内容服务器的替身(在防火墙外部设置一个代理服务器作为内容服务器的替身),也可以作为内容服务器集群的负载均衡器。

 1,作内容服务器的替身                     

                     如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。

                   当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图 2)。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。

                  这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。
 

注意 :  可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。

   2,作为内容服务器的负载均衡器

                   可以在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。在此模型中,可以利用代理服务器的高速缓存特性,创建一个用于负载平衡的服务器池。此时,代理服务器可以位于防火墙的任意一侧。如果 Web 服务器每天都会接收大量的请求,则可以使用代理服务器分担 Web 服务器的负载并提高网络访问效率。

                   对于客户机发往真正服务器的请求,代理服务器起着中间调停者的作用。代理服务器会将所请求的文档存入高速缓存。如果有不止一个代理服务器,DNS 可以采用“循环复用法”选择其 IP 地址,随机地为请求选择路由。客户机每次都使用同一个 URL,但请求所采取的路由每次都可能经过不同的代理服务器。

                   可以使用多个代理服务器来处理对一个高用量内容服务器的请求,这样做的好处是内容服务器可以处理更高的负载,并且比其独自工作时更有效率。在初始启动期间,代理服务器首次从内容服务器检索文档,此后,对内容服务器的请求数会大大下降。
--------------------- 
 

 

 

负载均衡概述

                 LB:Load Balancing负载均衡分软件和硬件两方面实现。
      1、 软件:一般位于TCP/IP的四层和七层,典型的有:
           lvs (第四层,传输层)
           haproxy, nginx (第七层,应用层)
     2、硬件:生产硬件的厂商有很多,常见的有
          F5公司的 BIG-IP 优秀的安全加速接入解决方案

          Citrix 公司的Netscaler 优化Web 应用交付的综合解决方案。

          A10 公司的A10 thunder 统一应用服务网关

 

Nginx配置文件结构

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

5、location块:配置请求的路由,以及各种页面的处理情况。

更详细介绍链接 : https://www.cnblogs.com/knowledgesea/p/5175711.html

 

Nginx的优点:
1、工作在OSI第7层,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则比HAProxy更为强大和灵活;
2、Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在;
3、Nginx安装和配置比较简单,测试起来比较方便;
4、可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量;
5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点;
6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP现在也是非常流行的web环境,大有和LAMP环境分庭抗礼之势,Nginx在处理静态页面、特别是抗高并发方面相对apache有优势;
7、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,有需求的朋友可以考虑用其作为反向代理加速器;
Nginx的缺点:
1、Nginx不支持url来检测。
2、Nginx仅能支持http和Email,这个它的弱势。
3、Nginx的Session的保持,Cookie的引导能力相对欠缺。

 

nginx特性


1.模块化的设计,有不错的拓展性;
2.高可靠性;
3.支持热部署:不停机更新配置文件,升级版本,更换日志文件;
4.较低的内存消耗:10000个keep-alive(长连接)连接模式下的非活动连接,仅仅占用2.5M的内存空间;
5.event-driven(事件驱动),aio(异步非阻塞I/O),mmap(一种内存映射文件的方法),sendfile(内核直接封装报文)

 

nginx基本的功能


1.静态资源的web服务器;
2.http协议的反向代理器;
3.pop3/imap4协议反向代理服务器(邮件)
4.FastCGI(LNMP),uWSGI(python)等协议;
5.模块化(非DSO);

nginx模块分类:

  核心模块:core module
  标准模块:
    http模块:ngxhttp
      http core modules 默认功能
      http optional modules 需要编译时候指定
    mail模块 : ngxmail

    stream模块: ngxstream*

 

        具有反向代理服务器的所有特点,并且配置简单,支持对大于1kb的文件进行压缩,静态文件缓存,可以大大提高访问效率。Nginx接受来自客户端的Http请求发送给uWSGI,uWSGI处理请求并将关键信息传递给web应用(django,flask等),应用返回Response经由uWSGI发送给Nginx,Nginx再发送给客户端。

模块依赖性    :  

                 gzip模块需要 zlib 库

                  rewrite模块需要 pcre 库

                   ssl 功能需要openssl

     Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

      NGINX依靠异步事件驱动架构来帮助其处理大量的并发会话,由于其对资源的轻量利用和伸缩自如的特性,它成为了广受欢迎的web服务器。

      NGINX在类BSD(Berkeley Software Distribution)许可协议授权下发布的,它不仅可作为web服务器进行部署,也可作为代理服务器或负载平衡器。你可以在NGINX社区网站找到它的更多信息。

  • Nginx类似于Apache和Tomcat,也是一种服务器软件。

  • Nginx是一个高性能的HTTP和反向代理服务器,也可以实现负载均衡的功能。

  • 与Tomcat相比,Tomcat是一个Java实现的重量级服务器,而Nginx是一个轻量级服务器。

  • 与Apache相比,Nginx能支持处理百万级的TCP连接,10万以上的并发连接。

                                       Nginx应用架构图

代理服务器(Proxy Server)

是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。 
这个就是正向的代理服务器,它是代理网络用户去访问获得网络信息,主要起到的是安全作用,因为有隐藏真实ip,突破访问限制的功能。其中最常见的就是VPN了。 

 

正向代理服务器:

反向代理服务器(Reverse Proxy): 

反向代理,故名思意就是将代理服务器做出逆转,它主要的功能是代理服务器接收客户端发来的Http请求,转发到内部网络服务器,并返回Response给客户端。 
反向代理的作用:

  1. 保证内网安全,可以使用反向代理服务器提供的WAF功能,阻止web攻击。
  2. 负载均衡,通过反向代理服务器来优化网站的负载
  3. 缓存静态资源,加快访问速度

反向代理示意图

由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代理“代理”的是客户端,而且客户端是知道目标的,而目标是不知道客户端是通过VPN访问的。

当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理“代理”的是服务器端,而且这一个过程对于客户端而言是透明的。

两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端

Nginx的Master-Worker模式

nginx进程

启动Nginx后,其实就是在80端口启动了Socket服务进行监听,如图所示,Nginx涉及Master进程和Worker进程。

Master-Worker模式

nginx.conf

Master进程的作用是?

读取并验证配置文件nginx.conf;管理worker进程;

Worker进程的作用是?

每一个Worker进程都维护一个线程(避免线程切换),处理连接和请求;注意Worker进程的个数由配置文件决定,一般和CPU个数相关(有利于进程切换),配置几个就有几个Worker进程。

主战场:nginx.conf

很多时候,在开发、测试环境下,我们都得自己去配置Nginx,就是去配置nginx.conf。

nginx.conf是典型的分段配置文件,下面我们来分析下。

虚拟主机

http的server段

访问结果

其实这是把Nginx作为web server来处理静态资源。

第一:location可以进行正则匹配,应该注意正则的几种形式以及优先级。(这里不展开)

第二:Nginx能够提高速度的其中一个特性就是:动静分离,就是把静态资源放到Nginx上,由Nginx管理,动态请求转发给后端。

第三:我们可以在Nginx下把静态资源、日志文件归属到不同域名下(也即是目录),这样方便管理维护。

第四:Nginx可以进行IP访问控制,有些电商平台,就可以在Nginx这一层,做一下处理,内置一个黑名单模块,那么就不必等请求通过Nginx达到后端在进行拦截,而是直接在Nginx这一层就处理掉。

反向代理【proxy_pass】

所谓反向代理,很简单,其实就是在location这一段配置中的root替换成proxy_pass即可。root说明是静态资源,可以由Nginx进行返回;而proxy_pass说明是动态请求,需要进行转发,比如代理到Tomcat上。

反向代理,上面已经说了,过程是透明的,比如说request -> Nginx -> Tomcat,那么对于Tomcat而言,请求的IP地址就是Nginx的地址,而非真实的request地址,这一点需要注意。不过好在Nginx不仅仅可以反向代理请求,还可以由用户自定义设置HTTP HEADER。

负载均衡【upstream】

上面的反向代理中,我们通过proxy_pass来指定Tomcat的地址,很显然我们只能指定一台Tomcat地址,那么我们如果想指定多台来达到负载均衡呢?

第一,通过upstream来定义一组Tomcat,并指定负载策略(IPHASH、加权论调、最少连接),健康检查策略(Nginx可以监控这一组Tomcat的状态)等。

第二,将proxy_pass替换成upstream指定的值即可。

负载均衡可能带来的问题?

负载均衡所带来的明显的问题是,一个请求,可以到A server,也可以到B server,这完全不受我们的控制,当然这也不是什么问题,只是我们得注意的是:用户状态的保存问题,如Session会话信息,不能在保存到服务器上。

缓存

缓存,是Nginx提供的,可以加快访问速度的机制,说白了,在配置上就是一个开启,同时指定目录,让缓存可以存储到磁盘上。具体配置,大家可以参考Nginx官方文档,这里就不在展开了。

高并发

通常是指,通过设计保证系统能够同时并行处理很多请求

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。

  • 响应时间:系统对请求做出响应的时间

  • 吞吐量:单位时间内处理的请求数量。

  • QPS:每秒响应请求数。

提升系统的并发能力

互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)

垂直扩展:提升单机处理能力。垂直扩展的方式又有两种:

  1. 增强单机硬件性能

  2. 提升单机架构性能

分层架构图:

常见互联网分布式架构如上,分为:

  1. 客户端层:典型调用方是浏览器browser或者手机应用APP

  2. 反向代理层:系统入口,反向代理

  3. 站点应用层:实现核心应用逻辑,返回html或者json

  4. 服务层:如果实现了服务化,就有这一层

  5. 数据-缓存层:缓存加速访问存储

  6. 数据-数据库层:数据库固化数据存储

 反向代理层的水平扩展,是通过“DNS轮询”实现的:dns-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问dns-server,会轮询返回这些ip。当nginx成为瓶颈的时候,只要增加服务器数量,新增nginx服务的部署,增加一个外网ip,就能扩展反向代理层的性能,做到理论上的无限高并发

站点层:

    站点层的水平扩展,是通过“nginx”实现的。通过修改nginx.conf,可以设置多个web后端。当web后端成为瓶颈的时候,只要增加服务器数量,新增web服务的部署,在nginx配置中配置上新的web后端,就能扩展站点层的性能,做到理论上的无限高并发。

 

服务层:

    站点层通过RPC-client调用下游的服务层RPC-server时,RPC-client中的连接池会建立与下游服务多个连接,当服务成为瓶颈的时候,只要增加服务器数量,新增服务部署,在RPC-client处建立新的下游服务连接,就能扩展服务层性能,做到理论上的无限高并发。如果需要优雅的进行服务层自动扩容,这里可能需要配置中心里服务自动发现功能的支持。

 

数据层:

    在数据量很大的情况下,数据层(缓存,数据库)涉及数据的水平扩展,将原本存储在一台服务器上的数据(缓存,数据库)水平拆分到不同服务器上去,以达到扩充系统性能的目的。

互联网分层架构中,各层次水平扩展的实践又有所不同:

  1. 反向代理层可以通过“DNS轮询”的方式来进行水平扩展;

  2. 站点层可以通过nginx来进行水平扩展;

  3. 服务层可以通过服务连接池来进行水平扩展;

  4. 数据库可以按照数据范围,或者数据哈希的方式来进行水平扩展。

 

Nginx 的特点

       Nginx 是一款面向性能设计的 HTTP 服务器,相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的 Apache 不同,nginx 不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。

       整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。在 Linux 操作系统下,nginx 使用 epoll 事件模型,得益于此,nginx 在 Linux 操作系统下效率相当高。同时 Nginx 在 OpenBSD 或 FreeBSD 操作系统上采用类似于 epoll 的高效事件模型 kqueue。

     Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持Rails 和 PHP程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。  作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器。

     可大量平行处理。Nginx 在官方测试的结果中,能够支持五万个平行连接,而在实际的运作中,可以支持二万至四万个平行链接。

Nginx 的优点

(1)更快

比其他Web服务器更快地响应请求。

(2)高扩展性

(3)高可靠性

(4)低内存消耗

一般情况下,10 000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。

(5)单机支持10万以上的并发连接

(6)热部署

master管理进程与worker工作进程的分离设计,使得Nginx能够提供热部署功能,即可以在7×24小时不间断服务的前提下,升级Nginx的可执行文件。当然,它也支持不停止服务就更新配置项、更换日志文件等功能。

优势

Nginx的最大优势在于处理静态文件和代理转发功能,支持7层负载均衡和故障隔离。 动静分离是每个网站发展到一定规模之后必然的结果。静态请求则应当最好将其拆分,并启用独立的域名,既便于管理的需要,也便于今后能够快速支持CDN。如果一台Nginx性能无法满足,则可以考虑在Nginx前端添加LVS负载均衡,或者F5等硬件负载均衡(费用昂贵,适合土豪公司单位),由多台Nginx共同分担网站请求。还可以考虑结合Varnish或者Squid缓存静态文件实现类似CDN功能。

新版Nginx目前已经支持直接读写Memcache,可以编译安装时候选择添加此类模块,从而节省了转交给PHP或者JPS等动态程序服务器处理时间,提高效率的同时,减小了动态服务器的负载。

 

Tengine概述:
       Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。
Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。

Tengine官方网站:http://tengine.taobao.org/

nginx的官方网站:

http://nginx.org/en/download.html

Mainline version  主线版本

Stable version  稳定版本

Legacy versions  遗产版本 /历史版本

版本命名的常识:偶数为稳定,奇数是测试版或开发版本

 

Nginx 的模块与工作原理

Nginx 由内核和模块组成,正是有了这么多模块的支撑,Nginx 的功能才会如此强大。Nginx 的模块从结构上分为核心模块、基础模块和第三方模块:

● 核心模块:HTTP 模块、EVENT 模块和 MAIL 模块

● 基础模块:HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite 模块

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

Nginx 的模块从功能上分为如下三类:

● Handlers(处理器模块)。此类模块直接处理请求,并进行输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。

● Filters (过滤器模块)。此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。

● Proxies (代理类模块)。此类模块是 Nginx 的 HTTP Upstream 之类的模块,这些模块主要与后端一些服务比如 FastCGI 等进行交互,实现服务代理和负载均衡等功能。

Nginx的优点

    Nginx 是一个很牛的高性能Web和反向代理服务器。在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品:Nginx 在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应。

     Nginx作为负载均衡服务器;Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理 服务器对外进行服务。 Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

    Nginx 作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。

    Nginx 是一个 安装非常的简单, 配置文件非常简洁(还能够支持 perl 语法), Bugs 非常少的服务器,Nginx 启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级 。

 

介绍的内容

1、  Nginx web服务器介绍

2、  Nginx与apache的对比

3、  实战1:在“腾讯云主机”上源码编译安装Nginx

4、  实战2:Nginx调优之隐藏版本信息防止黑客扫描识别漏洞

5、  实战3:设置网页缓存

实验环境: 使用RHEL6.5/centos6.5   64位 

静态HTTP服务器

 

首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

配置样例:

反向代理服务器

 

什么是反向代理?

客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。

反向代理基本配置样例:

两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端

负载均衡

 

当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

Nginx可以通过反向代理来实现负载均衡。

负载均衡配置样例:

虚拟主机

 

有的网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。

例如将www.aaa.com和www.bbb.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

虚拟主机配置样例:

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。

虚拟主机的原理是通过HTTP请求头中的Host是否匹配server_name来实现的,有兴趣的同学可以研究一下HTTP协议。

另外,server_name配置还可以过滤有人恶意将某些域名指向你的主机服务器。

FastCGI

 

Nginx本身不支持PHP等语言,但是它可以通过FastCGI来将请求扔给某些语言或框架处理(例如PHP、Python、Perl)。

配置中将.php结尾的请求通过FashCGI交给PHP-FPM处理,PHP-FPM是PHP的一个FastCGI管理器。有关FashCGI可以查阅其他资料,本文不再介绍。

fastcgi_pass和proxy_pass有什么区别?下面一张图带你看明白:

常见web架构:

LAMP  =Linux+Apache+Mysql+PHP

LNMP  =Linux+Nginx+Mysql+PHP

 

Nginx和Apache的区别:

apache和nginx在处理php代码时有什么区别?

      1:Nginx是通过php-fpm这个服务来处理php文件

       2:Apache是通过libphp5.so这个模块来处理php文件

Nginx

Apache

总结:

Apache的libphp5.so随着apache服务器一起运行,而Nginx和php-fpm是各自独立运行,所以在运行过程中,Nginx和php-fpm都需要分别启动

实战场景: 公司现在要上一台web服务器, 并发数据要达5000人同时在线。 这时应该选择apache或nginx ?  你选择哪个?

nginx相对于apache的优点:

轻量级,同样起web 服务,比apache 占用更少的内存及资源 ;高并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能;高度模块化的设计,编写模块相对简单;社区活跃,各种高性能模块出品迅速。

 

apache 相对于nginx 的优点: 
apache 超稳定 ,一般来说,需要并发性高的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 。

nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。

安装nginx

登录阿里云主机: https://www.aliyun.com/

云主机装系统使用的镜像: 不是rhel.iso  用的是 centos.img  或 centos.qcow2

一、安装nginx时必须先安装相应的编译工具

 

[root@localhost ~]# cat /etc/redhat-release               #查看系统版本
CentOS release 6.5 (Final)
[root@localhost ~]#  yum install -y gcc gcc-c++ autoconf automake libtool openssl openssl-devel
make cmake

gcc  c语言编译器

gcc-c++ c++语言编译器

autoconf automake  用于make编译的工具

[root@localhost  ~]#yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel      #安装组件和插件

zlib  :nginx提供gzip模块,需要zlib库支持
openssl :nginx提供ssl功能
pcre  :支持地址重写rewrite功能

 

在xshell上面安装nginx:

(需要先把软件下载Windows上)

上传nginx软件包的lrzsz软件

[root@ocalhost ~]# yum install lrzsz -y
[root@localhost ~] # rz  nginx-1.10.2.tar.gz
[root@localhosts ~]# tar zxvf nginx-1.10.2.tar.gz

添加nginx系统账号

useradd -r nginx
[root@localhost ~]# cd nginx-1.10.2
[root@localhost  nginx-1.10.2]# useradd  -s /sbin/noligin    -M     nginx

 

 

#创建一个nginx用户

-s      指定登录shell

-M     不创建家目录

编译安装

[root@localhost  nginx-1.10.2]# ./configure --prefix=/usr/local/nginx   --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module  --with-http_gzip_static_module  --with-pcre       #检查编译环境
[root@ocalhost ~]# echo $?                       #查看上一个命令是否正确,结果是零说明正确

参数说明:

--prefix=/usr/local/nginx       指定安装路径

--user=nginx --group=nginx    指定运行nginx进程的用户和组

--with-http_ssl_module         支持ssl加密

--with-http_realip_module      此模块支持显示真实来源IP地址,主要用于NGINX做前端负载均衡服务器使用

--with-http_gzip_static_module  这个模块指定压缩

--with-pcre                   此模块支持rewrite功能          

编译和安装:

[root@ocalhost  nginx-1.10.2]# make -j 4    #编译,把源代码编译成可执行的二进制文件。

编译:mysql 内核 1个小时。  -j 4  20分钟。

 

[root@localhost  nginx-1.10.2]# make  install   #安装

 

nginx主要目录结构:

 

[root@localhost  nginx-1.10.2]# ls /usr/local/nginx/                      #查看安装的目录

conf  html  logs  sbin

conf  #配置文件

html  #网站根目录

logs  #日志

sbin  #nginx启动脚本

 

修改阿里云nginx配置端口号为8080

vi /etc/nginx/nginx.conf


 

在阿里云中,添加安全组规则,放行8080端口,针对所有的IP地址:0.0.0.0/0

重启NGINX

systemctl restart nginx

netstat -lntp               

测试添加的8080端口,已经添加成功了。退出使用“ctrl + ]”

 

启动nginx :

[root@localhost  ~]# /usr/local/nginx/sbin/nginx   

[root@localhost  ~]#  systemctl start nginx

查看机器80端口,有没有打开,如果打开了,说明nginx安装。

测试:

http://123.207.157.107/

实战2: nginx调优--隐藏版本信息

 

为什么要屏蔽nginx版本信息?

答:因为黑客可以扫描出nginx版本信息,可以查看对应的版本信息的漏洞,然后攻击

如何查nginx版本信息?

 

查看nginx版本信息:

[root@localhost  nginx-1.10.2]# curl -I www.baidu.com  
[root@localhost  nginx-1.10.2]# curl -I www.qq.com

 

查看自己的服务器:

[root@VM_113_253_centos ~]# curl  -I 123.207.157.107

HTTP/1.1 200 OK

Server: nginx/1.10.2   #这里暴露了目标信息

彻底让版本等敏感信息消失

 

[root@localhost  nginx-1.10.2]# pwd                                            #查看当前目录
/root/nginx-1.10.2         
[root@localhost  nginx-1.10.2]# cd /root/nginx-1.10.2
[root@localhost  nginx-1.10.2]# vim src/core/nginx.h          //目的更改源码隐藏软件名称和版本号

本号

13

#define NGINX_VERSION       "1.1.12"                 #此行修改的是你想要的版本号

#define NGINX_VER          "XWS/" NGINX_VERSION   #此行修改的是你想修改的软件名称

[root@localhost  nginx-1.10.2]# vim src/http/ngx_http_header_filter_module.c

修改HTTP头信息中的connection字段,防止回显具体版本号

改:49 static char ngx_http_server_string[] = "Server: nginx" CRLF;

为:49 static char ngx_http_server_string[] = "Server: XWS" CRLF;

这个文件定义了http错误码的返回,有时候我们页面程序出现错误,Nginx会代我们返回相应的错误代码,回显的时候,会带上nginx和版本号,我们把他隐藏起来

[root@localhost  nginx-1.10.2]# vim src/http/ngx_http_special_response.c

29

static u_char ngx_http_error_full_tail[] =

"<hr><center>" NGINX_VER "</center>" CRLF

"</body>" CRLF

"</html>" CRLF

;

 

static u_char ngx_http_error_tail[] =

"<hr><center>XWS</center>" CRLF

"</body>" CRLF

"</html>" CRLF

;

 

需要重新进行nginx安装:

[root@ocalhost nginx-1.10.2]# /usr/local/nginx/sbin/nginx -s stop
[root@localhost nginx-1.10.2] # rm -rf /usr/local/nginx/
[root@ocalhost nginx-1.10.2]# pwd
/root/nginx-1.10.2
[root@ocalhost nginx-1.10.2]# make clean                 #清空之前编译的内容
rm -rf Makefile objs
[root@ocalhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx   --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module  --with-http_gzip_static_module  --with-pcre 
[root@ocalhost nginx-1.10.2]# make && make install 

启动服务

[root@ocalhost nginx-1.10.2]# /usr/local/nginx/sbin/nginx

测试nginx版本

[root@ocalhost nginx-1.10.2]# curl -I http://127.0.0.1            #查看nginx版本隐藏有没有成功

或者

在浏览器上面测试

 

常见问题:

办法:把方框里面添加到编译里面去。

思考:Nginx如何做到热部署?

所谓热部署,就是配置文件nginx.conf修改后,不需要stop Nginx,不需要中断请求,就能让配置文件生效!(nginx -s reload 重新加载/nginx -t检查配置/nginx -s stop)

通过上文我们已经知道worker进程负责处理具体的请求,那么如果想达到热部署的效果,可以想象:

方案一:

修改配置文件nginx.conf后,主进程master负责推送给woker进程更新配置信息,woker进程收到信息后,更新进程内部的线程信息。(有点valatile的味道)

方案二:

修改配置文件nginx.conf后,重新生成新的worker进程,当然会以新的配置进行处理请求,而且新的请求必须都交给新的worker进程,至于老的worker进程,等把那些以前的请求处理完毕后,kill掉即可。

Nginx采用的就是方案二来达到热部署的!

思考:Nginx如何做到高并发下的高效处理?

上文已经提及Nginx的worker进程个数与CPU绑定、worker进程内部包含一个线程高效回环处理请求,这的确有助于效率,但这是不够的。

作为专业的程序员,我们可以开一下脑洞:BIO/NIO/AIO、异步/同步、阻塞/非阻塞...

要同时处理那么多的请求,要知道,有的请求需要发生IO,可能需要很长时间,如果等着它,就会拖慢worker的处理速度。

Nginx采用了Linux的epoll模型,epoll模型基于事件驱动机制,它可以监控多个事件是否准备完毕,如果OK,那么放入epoll队列中,这个过程是异步的。worker只需要从epoll队列循环处理即可。

思考:Nginx挂了怎么办?

Nginx既然作为入口网关,很重要,如果出现单点问题,显然是不可接受的。

答案是:Keepalived+Nginx实现高可用。

Keepalived是一个高可用解决方案,主要是用来防止服务器单点发生故障,可以通过和Nginx配合来实现Web服务的高可用。(其实,Keepalived不仅仅可以和Nginx配合,还可以和很多其他服务配合)

Keepalived+Nginx实现高可用的思路:

第一:请求不要直接打到Nginx上,应该先通过Keepalived(这就是所谓虚拟IP,VIP)

第二:Keepalived应该能监控Nginx的生命状态(提供一个用户自定义的脚本,定期检查Nginx进程状态,进行权重变化,,从而实现Nginx故障切换)

Nginx和Apache的区别 ? 

答 :

1、nginx采用了异步非阻塞的方式来处理请求,nginx采用多worker的方式来处理请求每个worker里面只有一个主线程,多少个worker就能处理多少个并发,nginx是可以同时处理成千上万个请求的。

2、apache的常用工作方式 : 每个请求会独占一个工作线程,当并发数上到几千时,就同时有几千的线程在处理请求了。

3、apache:一个server采用一个进程负责一个request(请求)的方式,那么进程数就是并发数。

4、Apache的主要工作模式有两种:prefork和worker,prefork(缺省模式)工作模式是linux下apache安装时候的默认工作模式

查看模式 :用"httpd -l"命令查看当前模式。若找到 prefork.c 则表示当前工作在prefork模式,同理出现 worker.c 则工作在worker模式。

 

注意 : 异步非阻塞的方式 : 一个请求的完整过程 。请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作。

负载均衡器技术Nginx和F5的优缺点对比

答 : 

方案优缺点对比

基于硬件的方式(F5)

优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用

缺点:成本高,除设备价格高昂,而且配置冗余.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态.

硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来 得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)

基于软件的方式(Nginx)

优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。

综述:对我们管理系统应用环境来说,由于负载均衡器本身不需要对数据进行处理,性能瓶颈更多的是在于后台服务器,通常采用软负载均衡器已非常够用且其商业友好的软件源码授权使得我们可以非常灵活的设计,无逢的和我们管理系统平台相结合。

 

 

 

参考链接:

https://mp.weixin.qq.com/s/ka2Di8XfXxTAAcDKztvI-g

https://mp.weixin.qq.com/s/L1-uK06dU0XCM9bNr79mZg

https://blog.csdn.net/shu_8708/article/details/79068581

https://www.cnblogs.com/knowledgesea/p/5175711.html

NGINX从入门到放弃(原理与编译安装)   :http://blog.51cto.com/11010461/2138943

https://blog.csdn.net/m13666368773/article/details/8016178?

负载均衡器技术Nginx和F5的优缺点对比 : https://blog.csdn.net/zxc456733/article/details/78861100

 

 

链接:

脚本之间 :

nginx 系列 (827篇) : https://www.jb51.net/list/list_226_1.htm

Nginx 中文官方文档 : http://shouce.jb51.net/nginx-doc/

agentzh 的 Nginx 教程(版本 2016.07.21) : http://shouce.jb51.net/Nginx_agentzh/

Nginx开发从入门到精通 : http://shouce.jb51.net/nginx-book/

Nginx中文文档 : http://shouce.jb51.net/nginxCN/

Nginx geo模块 实现分布式均衡负载 :  http://www.voidcn.com/code/p-ppzfspaa-o.html

shell脚本安装NGINX  : http://www.voidcn.com/code/p-pftbhnzy-p.html

shell脚本安装nginx deamon服务 :  http://www.voidcn.com/code/p-dcnevnlm-p.html

检查服务器各种服务的运行状态  :  http://www.voidcn.com/code/p-tmjsvwom-o.html

 

 

nginx SSL 配置  :  http://www.voidcn.com/code/p-qikhnnlt-m.html

zabbix 监控nginx状态   :  http://blog.51cto.com/xiaoluoge/1642194

ELK采集之nginx 日志高德地图出城市IP分布图   :  http://blog.51cto.com/xiaoluoge/1891366

nginx正则笔记  :  http://blog.51cto.com/xiaoluoge/1584504

nginx 静态文件缓存 : http://www.voidcn.com/code/p-cbzgdxhc-m.html

Nginx动静分离实现负载均衡(Debian系统) : https://mp.weixin.qq.com/s/E17J5B8ILxsY83-aDNb0Qw

python 正则分析nginx日志 荐  :  http://blog.51cto.com/xiaoluoge/1651021

分析nginx ip地址来源  :  http://blog.51cto.com/xiaoluoge/1653123

saltstack 之源码部署管理nginx 荐  :  http://blog.51cto.com/xiaoluoge/1722289

 

consul服务注册与发现应用实战  : http://blog.51cto.com/xiaoluoge/2134126

Consul + Nginx实现自动扩容平台    :  http://blog.51cto.com/xiaoluoge/2133145

Nginx详解以及LNMP的搭建   :   https://www.cnblogs.com/keerya/p/7797610.html

Nginx实现负载均衡&Nginx缓存功能   : https://www.cnblogs.com/keerya/p/7819842.html

让nginx支持PATH_INFO   :  http://blog.chinaunix.net/uid-25266990-id-2355025.html

nginx屏蔽ip访问   :  http://blog.chinaunix.net/uid-25266990-id-2384369.html

nginx负载均衡实例   :  http://blog.chinaunix.net/uid-25266990-id-2384443.html

使用Nginx处理DDOS进行系统优化   :  https://mp.weixin.qq.com/s/GQ2YdfA7FhXs5JWzxVFGNw

Nginx服务器开箱体验 : https://juejin.im/post/5b095c88f265da0db4792337

从一份配置清单详解Nginx服务器配置 : https://juejin.im/post/5b3174a8e51d45588576f907

 

nginx 优化(突破十万并发)  :  http://blog.chinaunix.net/uid-25266990-id-2985541.html

Nginx Http服务器 :https://blog.csdn.net/huwh_/article/details/77887166

Nginx作为反向代理 : https://blog.csdn.net/huwh_/article/details/77887138

Nginx的部署与配置 :https://blog.csdn.net/huwh_/article/details/77886794

 

 

NGINX 负载均衡策略之「快者优先」的 Lua 实现 :https://mp.weixin.qq.com/s/fRAlU3483I_cNCZ1LFiKww

Nginx下流量拦截算法  : https://mp.weixin.qq.com/s/PKOSf98D8wcYMKkKxRnG6Q

Redis 深度历险:核心原理与应用实践 : https://mp.weixin.qq.com/s/5I2uoXZDDHWkZ-Zd3ewOUQ

Nginx优化 突破十万并发:https://mp.weixin.qq.com/s/5wSYXJS0xmbVQKmz5SIncQ

安装Nginx  :   https://mp.weixin.qq.com/s/1neERXVF9Jl24ka49ElP1Q

搭建nginx和Tomcat集群环境  https://mp.weixin.qq.com/s/noHgzAGeNil8reqA2XyvYA

nginx+tomcat负载均衡配置 :    https://mp.weixin.qq.com/s/2k-psByzDPut9tjVBFnSUQ

Nginx开发从入门到精通 (文章): http://outofmemory.cn/nginx/nginx-development-book/

Nginx(文章)系列:http://outofmemory.cn/nginx/

nginx教程系列 :  http://www.hechaku.com/Nginx/

基于Upsync模块实现Nginx动态配置:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485177&idx=1&sn=59b5cfeaa6ab621155a063a75db66e11&chksm=eac527d0ddb2aec6866d186c1c6dc27cff73a3add47e477bc2d7e9f5aeefc9b706d2410c23dd&scene=21#wechat_redirect

使用Nginx实现灰度发布:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485077&idx=1&sn=c62241a9092cf5548c1f81890d48cbf2&chksm=eac527bcddb2aeaa5bc5f2dac45155fec7960a52276772a305849a72fb2ce2ad69275e790563&scene=21#wechat_redirect

通过Nginx反向代理实现IP分流:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485050&idx=1&sn=df90f06c07650d2d345cebdbe490087f&chksm=eac52753ddb2ae454baf2df5cfe6db2afa84c1b11df34e1a3a04c772e3fb428dec557545cb09&scene=21#wechat_redirect

使用Nginx实现TCP反向代理::https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247484964&idx=1&sn=7f62f9b3aada6d995085aa62aa4659b9&chksm=eac5270dddb2ae1b7191e49248c06808692cc3e5368b6d6a3131631e6c1bd8d2cc8447c02b4a&scene=21#wechat_redirect

使用Nginx实现UDP反向代理:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247484976&idx=1&sn=2ba19091d308b2a7802dfd2351627be8&chksm=eac52719ddb2ae0fe94189e489da118f4e441f835a2e8ed3b5ff863080ca338077c07489d154&scene=21#wechat_redirect

使用Nginx自带Realip模块获取用户真实IP地址:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247484939&idx=1&sn=7755129a365d6da0b9541f3c6bfca830&chksm=eac52722ddb2ae34020a7a6aac8adb263a654b168a841530dbf328f8b801eae06abfc0cc43c2&scene=21#wechat_redirect

Nginx正向代理非80端口服务:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247484091&idx=1&sn=f63c7e5c9ee84d590397091067d7f456#rd

redis-setnx 不可重入分布式锁实现:https://mp.weixin.qq.com/s/w-zJVjToP4-hUTH6xnbunw

利用ngx_http_mirror_module实现流量镜像https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485466&idx=1&sn=acd2b1d40414d3af8911b4550eefa3fb&chksm=eac52933ddb2a02533091c8bbb919fc97c75a86d6338e7c89c6d308529dd27db60803081ec1f&scene=21#wechat_redirect

 

配置Nginx反向代理WebSocket::https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485210&idx=1&sn=7f181611745edcab421fe0a7736550d6&chksm=eac52633ddb2af25109db7c8ceb04601e7d775d2709e0c365e792d403db9966b3613a51764b4&scene=21#wechat_redirect

Nginx配置文件      安全分析工具——Gixy:https://mp.weixin.qq.com/s?__biz=MzI3MTI2NzkxMA==&mid=2247485272&idx=1&sn=4a3da3de4636599822b8d97dfdd37a98&chksm=eac52671ddb2af67322056e6e96f8866e12b3a0cd839235e397a6e828c2081ded9c7b427ed6f&scene=21#wechat_redirect

 

nginx负载均衡的5种策略:https://blog.csdn.net/zhangminemail/article/details/78928284

Nginx之4中不同的负载均衡算法 : https://blog.csdn.net/zmx729618/article/details/51555463

 

Redis集群      搭建与缓存实现https://mp.weixin.qq.com/s/RsDuqJGcljfaSuYR824nLA

【技术栈之Redis】玩转Redis集群    (上):https://mp.weixin.qq.com/s/aBMkakVr-L3nh-k5G_AItg

Nginx限速模块初探:https://mp.weixin.qq.com/s/bmE7aJQHTjWe8_yRE1a--w

 

Nginx反向代理负载均衡https://mp.weixin.qq.com/s/xzT2NkHY3Xr6F5nJiPLx5w

Nginx基础——Rewrite规则;https://mp.weixin.qq.com/s/4GGvl4zcuY4iTr0vS0321g

Nginx 配置文件 nginx.conf 详解:https://mp.weixin.qq.com/s/Crj2Xo8-EJpbq40kXronug

Nginx+php-fpm负载均衡和性能测试:https://mp.weixin.qq.com/s/tzVQuv_SaZLZghCEOR8LrQ

nginx + php-fpm 性能调优 : https://mp.weixin.qq.com/s/r-LhM5xXKXtIG9tXy5AXcQ

1分钟搞定 Nginx 版本的平滑升级与回滚 : https://mp.weixin.qq.com/s/8cUtSPiVK_8KuCGROifG6Q

 

Nginx常用功能举例解析 :https://mp.weixin.qq.com/s/-zyxZykALgPTJDS72eSD_A

 

Nginx配置文件及模块:https://mp.weixin.qq.com/s?__biz=MzU5NDU0NTY4NQ==&mid=2247483979&idx=1&sn=e6ffb6079b722030bfc523addcf66389&scene=21#wechat_redirect

php Linux 下的环境安装 包括 docker 下安装 php-fpm nginx:https://segmentfault.com/a/1190000007906471

nginx服务器安装及配置文件详解(CentOS 6):https://segmentfault.com/a/1190000002797601 

Nginx安装(ububtu):http://www.nginx.cn/install

CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14:

https://www.jianshu.com/p/880aa98a2290?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Nginx+Keepalived实现Web服务器负载均衡:https://www.osyunwei.com/archives/7566.html

在centos7上实现nginx+tomcat负载均衡 : http://ju.outofmemory.cn/entry/365599

Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结:https://mp.weixin.qq.com/s/R8h5McWuT14t0SInthsvww

架构师详解:Nginx 架构:https://mp.weixin.qq.com/s/XJDvm5RS2mqFYI5DGNYUkQ

Nginx 教程 #1:基本概念:https://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650078178&idx=2&sn=feb4905ceda45e82ba8d1320aaca14be&chksm=bedb208c89aca99a98db85a01f0b5e4bfd2dd9a4ea37f076149ead0a676f24a1ad37e11af80e&scene=21#wechat_redirect

https://mp.weixin.qq.com/s/CbW4zT1zG6aQBofWFUKzDg

Nginx 系列实用教程 #2:性能::https://mp.weixin.qq.com/s/XjReKjCO3eCH6oGhBJJS5g

Nginx 系列实用教程 #3:SSL 设置:https://mp.weixin.qq.com/s/qB2rUn7QtjlsxYDdiO8y0A

https://mp.weixin.qq.com/s/AdrCrohTRt2E1KNG4v3uKg

如何使用Nginx搭建WCF集群!:https://mp.weixin.qq.com/s/iRrCuiF_wr2c8v3CoLOotw

nginx的502问题:https://mp.weixin.qq.com/s/s5vxFEwc2OHwgFHRLOsgVA

nginx针对请求的uri来代理:https://mp.weixin.qq.com/s/Pl3GYh_qFkhvl37WadqZoQ

nginx的【limit模块】如何使用:https://mp.weixin.qq.com/s/m7-rb7eecTmXiLQOxL_4mw

nginx return知多少:https://mp.weixin.qq.com/s/IIS3sZyTmktgshUHK1oH3Q

用ngxtop监控nginx访问?:https://mp.weixin.qq.com/s/h9WAXq7p0zT2I92eyJfATQ

nginx rewrite不支持if嵌套也不支持逻辑或和逻辑并:https://mp.weixin.qq.com/s/8jXRNRd_B5ACEuZknu1Frw

nginx的location优先级(上):https://mp.weixin.qq.com/s/cq54LD5xm946ziHJWfMC_g

 

Nginx简单配置(Windows环境)        :https://blog.csdn.net/tdcqfyl/article/details/51992758 

Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结:https://mp.weixin.qq.com/s/R8h5McWuT14t0SInthsvww

CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2:https://www.osyunwei.com/archives/10046.html

8分钟带你深入浅出搞懂Nginx:https://mp.weixin.qq.com/s/ScAecQv2CpmsO8mcP-wiPQ

Nginx Proxy_Cache 模块详解!          :         http://blog.51cto.com/zlyang/1792072

Let's Encrypt免费申请https证书+自动续费 : https://blog.ansheng.me/article/lets-encrypt-free-application-for-https-certificate-automatic-renewal

Nginx结合Supervisor部署Tornado : https://blog.ansheng.me/article/nginx-deployed-tornado-with-supervisor

 

Nginx+SSL+Tomcat+CDN 部署总结:https://mp.weixin.qq.com/s/VFj2FnvLKi0JzwlT2Q9Eag

NGINX资源(文章):https://www.iyunv.com/thread-406-1-1.html

nginx日志分析         https://mp.weixin.qq.com/s/EzdoaqhKuWRJ2iosNr-xVw

Nginx配置管理平台               https://mp.weixin.qq.com/s/LOvxs0nwcFWtKEL7kybdkA

8分钟带你深入浅出搞懂Nginx:https://mp.weixin.qq.com/s/2WVmHc8NcGZl6OtHWBwwNg

解决 nginx 返回数据不完整的方法http://www.cnblogs.com/mracale/p/5908525.html

http://www.nginx.cn/运维与架构 - nginx.cn

Nginx 使用札记: http://mp.weixin.qq.com/s/PXh8CTaCeJ8jo1Ch1-3qqw

Nginx 入门指南 (系列) :https://www.w3cschool.cn/nginx/index.html

Nginx 教程(版本 2016.07.21):http://shouce.jb51.net/Nginx_agentzh/

Nginx从入门到实战 : https://mp.weixin.qq.com/s/-0ckzoWEEPs9sYgs0CW3Ug

Nginx 的中文维基 : http://tool.oschina.net/apidocs/apidoc?api=nginx-zh

Nginx 示例教程 : https://github.com/dunwu/Nginx/tree/master/demos

Nginx 内核源码解析 : http://techlog.cn/article/list/10182612

UNIX 环境高级编程 : http://techlog.cn/article/list/10182330

Nginx 系列(14篇) : https://blog.csdn.net/zmx729618/article/category/6255075

 

Nginx(1)— Nginx工作原理 : https://blog.csdn.net/liupeifeng3514/article/details/79857060

Nginx(2)— Nginx+FastCGI运行原理 : https://blog.csdn.net/liupeifeng3514/article/details/79865661

CGI与FastCGI介绍 : https://blog.csdn.net/liupeifeng3514/article/details/79865194

 

Nginx Gzip模块启用和配置指令详解 : https://blog.csdn.net/liupeifeng3514/article/details/79018334

Nginx location总结及rewrite规则写法 : https://blog.csdn.net/liupeifeng3514/article/details/79018269

nginx location匹配规则                :     http://blog.chinaunix.net/uid-29179844-id-4761399.html

 

Nginx max client的计算方式  : https://blog.csdn.net/liupeifeng3514/article/details/79018236

Nginx 重要算法介绍  : https://blog.csdn.net/liupeifeng3514/article/details/79018213

Nginx 动态添加第三方模块 : https://blog.csdn.net/liupeifeng3514/article/details/79018180

Nginx 服务器安装与配置 : https://blog.csdn.net/liupeifeng3514/article/details/79006959

Nginx 虚拟主机配置的三种方式(一)(基于IP) : https://blog.csdn.net/liupeifeng3514/article/details/79006998

Nginx 虚拟主机配置的三种方式(二)(基于端口): https://blog.csdn.net/liupeifeng3514/article/details/79007035

Nginx 虚拟主机配置的三种方式(三)(基于域名) : https://blog.csdn.net/liupeifeng3514/article/details/79007051

修改 Nginx 进程最大可打开文件数(worker_processes和worker_connections) : https://blog.csdn.net/liupeifeng3514/article/details/79007079

Nginx + Keepalived 构建高可用的负载层 : https://blog.csdn.net/liupeifeng3514/article/details/79018072

nginx 监控指标及收集 : https://mp.weixin.qq.com/s/aNHyAi59Puw870xmw5mm_w

Nginx  :  https://blog.csdn.net/chdhust/article/category/1464967

Nginx 配置多域名 + IPv6 :https://ericfu.me/nginx-config-multi-domains-and-ipv6/

nginx 监控指标及收集 : https://mp.weixin.qq.com/s/aNHyAi59Puw870xmw5mm_w

Nginx :  https://blog.csdn.net/m0_37450089/article/category/7308833

 

Nginx中使用 Lua+Redis 限制IP的访问频率 : https://www.zifangsky.cn/1028.html

CentOS 中 nginx 负载均衡和反向代理的搭建 : http://blog.csdn.net/liudongdong0909/article/details/51048788

跨域资源共享CORS详解     :   https://www.cnblogs.com/knowledgesea/p/6808411.html

Nginx支持Socket转发过程详解    :   https://www.cnblogs.com/knowledgesea/p/6497783.html

Nginx代理功能与负载均衡详解     :   https://www.cnblogs.com/knowledgesea/p/5199046.html

Nginx使用SSL模块配置HTTPS服务   :  http://blog.51cto.com/zlyang/1890677

Nginx常见的错误及解决方法    : http://blog.51cto.com/nanchunle/1657410

 

Linux配置Lighttpd+Python+web.py应用   :  https://www.liaoxuefeng.com/article/0013738925109653a9f5fe0a82c4984ba8e8174b456d0ce000

配置lighttpd反向代理               :https://www.liaoxuefeng.com/article/001373892736957e799676ce63a4e9f8e68c2f49ffe37fa000

Nginx服务器反代理配置   :  https://www.jianshu.com/p/5d36ccb5af88

通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题(报错 http 413 error)          :      http://blog.51cto.com/diannaowa/1557628

 

Nginx+Tomcat负载均衡集群,Nginx反向代理(内附源码包) :          http://blog.51cto.com/13728740/2158259

Nginx访问控制与虚拟主机(基于端口,基于域名),内附源码包      :        http://blog.51cto.com/13728740/2160913

20步打造最安全的Nginx Web服务器   :  https://www.jianshu.com/p/ae5b7ecba586

给Nginx配置一个自签名的SSL证书   :  https://www.liaoxuefeng.com/article/0014189023237367e8d42829de24b6eaf893ca47df4fb5e000

 

负载均衡 (一) 工作模式以及工作原理 : http://blog.51cto.com/xmomo/2177814

使用Nginx过滤网络爬虫    :  https://www.liaoxuefeng.com/article/001509844125769eafbb65df0a04430a2d010a24a945bfa000

 

(掘金小册)Nginx 系列 : https://juejin.im/tag/Nginx

在centos7上实现nginx+tomcat负载均衡 :http://ju.outofmemory.cn/entry/365599

nginx,linux压力测试工具webbench  :  http://blog.chinaunix.net/uid-25266990-id-343492.html

用shell编写nginx脚本的启动,关闭,重加载    :  http://blog.51cto.com/leoheng/1955762

nginx  中间件 : https://blog.csdn.net/qq_28893679/article/category/7233104

Nginx HTTPS + Nexus 3 + LDAP + Docker Registry     :  https://www.jianshu.com/p/2c92329197de

集群反向代理实现负载均衡『nginx & apache2』 : https://www.jianshu.com/p/0be21fd44946

Nginx在Mac上的安装配置  :  https://blog.csdn.net/supxiaoqiang1/article/details/5815651

nginx 参数优化   :  https://www.jianshu.com/p/745f99d2203c

高性能 Nginx+Keepalived 2018版    :  https://www.jianshu.com/p/6c220a7be2ee

 

原  Nginx下带证书的分向转发    :   https://blog.csdn.net/u012402276/article/details/60959359

原  Nginx1.8.1的配置文件详解    :   https://blog.csdn.net/u012402276/article/details/52164602

原  LVS+Nginx+Keepalived   :  https://blog.csdn.net/u012402276/article/details/52105690

原  Nginx+keepalived       :   https://blog.csdn.net/u012402276/article/details/52100314

原  LVS+Nginx     :https://blog.csdn.net/u012402276/article/details/52085764

原  CentOS6.6下的Nginx安装           :    https://blog.csdn.net/u012402276/article/details/51985172

 

四步16点高效搞定高性能web服务器nginx  :    ; https://mp.weixin.qq.com/s/YxQZGFg068ij3fF4LbTleQ

nginx优化篇之Linux 内核参数的优化            :       http://blog.51cto.com/zlyang/1757674

linux 内核参数优化     :      http://blog.51cto.com/zlyang/1757673

Nginx 平滑重启 :    http://blog.51cto.com/nanchunle/1643956

Nginx反向代理upstream模块介绍  : 

面试题:nginx的upstream有几种方式实现?          :  https://mp.weixin.qq.com/s/XhLmtOC9n_i-y174YcooMg

Nginx编译安装之自定义google_perftools not found    : http://blog.51cto.com/zlyang/1752207

在Nginx中部署基于IP的虚拟主机           :     http://blog.51cto.com/zlyang/1672521

构建基于Nginx的web服务器           :     http://blog.51cto.com/zlyang/1627623

Nginx 启用gzip压缩       :  https://www.cnblogs.com/yingsong/p/6047311.html

【服务器环境搭建-Centos】Nginx1.9.9 配置启用 --待续          :    https://www.cnblogs.com/yingsong/p/6026044.html

【服务器环境搭建-Centos】Nginx1.9.9 安装(编译源码)      : https://www.cnblogs.com/yingsong/p/5950452.html

nginx配置文件nginx.conf超详细讲解    :   https://www.cnblogs.com/liang-wei/p/5849771.html

NGINX功能详解   :  http://blog.51cto.com/13904503/2160912

HTTP扫盲及nginx基础性模块常用指令整理          : http://blog.51cto.com/zhaochj/1653807

nginx的proxy模块及upstream模块介绍             :         http://blog.51cto.com/zhaochj/1653723

MogileFS基于Nginx反向代理实现分布式存储与访问           :           http://blog.51cto.com/scholar/1671597

nginx设置用户账号和密码访问            :      http://blog.51cto.com/jdonghong/1888576

nginx中设置限制指定用户或IP组访问权限         : http://blog.51cto.com/jdonghong/1888551

nginx反向代理及负载设置详解(服务器维护时间设置)        :     http://blog.51cto.com/jdonghong/1887598

实现线上高性能接口方案nginx负载tornado后端lua数据 荐      :  http://blog.51cto.com/rfyiamcool/1301410

Nginx服务的ssl认证和htpasswd认证     : http://blog.51cto.com/sgk2011/1832207

10大Nginx配置项优化    : https://mp.weixin.qq.com/s/IAwsUzygvp4mH_U_s8UoHw

Nginx中如何限制某个IP同一时间段的访问次数 : http://blog.51cto.com/nanchunle/1655964

 

【转】Nginx学习---负载均衡的原理、分类、实现架构,以及使用场景    :   https://www.cnblogs.com/ftl1012/p/9570846.html

【转】Nginx学习---Nginx&&Redis&&hcache三层缓存架构总结    :   https://www.cnblogs.com/ftl1012/p/9568522.html

【转】Nginx学习---深入浅出Nginx的介绍    :   https://www.cnblogs.com/ftl1012/p/9567593.html

[转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构   :   https://www.cnblogs.com/ftl1012/p/9514486.html

Keepalived+nginx造成流量异常          :      http://blog.51cto.com/ygqygq2/1785087

CentOS6.5下keepalived+nginx实现双机热备  : http://blog.51cto.com/ygqygq2/1737346

keepalived+lvs/nginx 实现调度器高可用      :http://blog.51cto.com/pirateli/1661387

 

恢复误删除的nginx日志            :           http://blog.51cto.com/diannaowa/1684170

nginx+tomcat实现动静页面分离        :   http://blog.51cto.com/11638832/1878381

NGINX优化之路(一)           :   http://blog.51cto.com/yibeishui/1976936

NGINX优化之路(二)WEB安全篇 置顶            :    http://blog.51cto.com/yibeishui/1976938

 

原  Nginx学习笔记1—Nginx(Win32) 配置详解      : https://blog.csdn.net/m13666368773/article/details/8016673

原  Nginx学习笔记2—Nginx(Win32) nginx.conf 中文详解     : https://blog.csdn.net/m13666368773/article/details/8017032

原  Nginx学习笔记3—FastCGI与CGI解释器的区别,及其工作原理   :  https://blog.csdn.net/m13666368773/article/details/8017673

使用nginx+Lua+GraphicsMagick实现图片自动裁剪 荐        :http://blog.51cto.com/ylw6006/1830002

 

Nginx+Tomcat在Windows下做负载均衡    :   https://www.cnblogs.com/ftl1012/p/9375460.html

Nginx+Tomcat+Session 高性能群集搭建        :  https://www.cnblogs.com/ftl1012/p/9375440.html

Nginx性能问题答疑                   :     https://www.cnblogs.com/ftl1012/p/9296198.html

企业级NGINX的重定向rewrite                   : https://www.cnblogs.com/ftl1012/p/9296193.html

企业级Nginx增加日志选项              : https://www.cnblogs.com/ftl1012/p/9296183.html

企业级Nginx基于虚拟主机别名的设置               :  https://www.cnblogs.com/ftl1012/p/9296151.html

企业级Ngnix基于域名的配置_include           :    https://www.cnblogs.com/ftl1012/p/9296142.html

企业级Ngnix基于域名的配置_server        :  https://www.cnblogs.com/ftl1012/p/9296079.html

Nginx学习---Nginx的详解_【all】                  : https://www.cnblogs.com/ftl1012/p/nginx.html

Nginx学习---企业级nginx环境搭建                :  https://www.cnblogs.com/ftl1012/p/9296005.html

企业级nginx.conf优化参考模板               :http://blog.51cto.com/ygqygq2/1853195

基于nginx+tomcat的负载均衡以及memcached解决交叉存储             :http://blog.51cto.com/11838039/1825834       

架构师-反向代理学习笔记           :          https://www.jianshu.com/p/fd080d0c218a

nginx安装第三方模块          :         http://blog.51cto.com/liangey/1725680

nginx+tomcat+redis(单点)          :      http://blog.51cto.com/liangey/1722140

 

nginx 配置--限定用户访问,防止非80端口转80技巧         :       http://blog.51cto.com/vekergu/1697937

使用Nginx制作内网yum镜像代理               :     http://blog.51cto.com/ygqygq2/1960791

用nginx TCP反向代理作mail邮件代理        :        http://blog.51cto.com/ygqygq2/1958316

日志分析工具Awstats实战之Nginx篇-分析结果动态化 荐         :   http://blog.51cto.com/nolinux/1317429

Nginx之虚拟目录-root与alias的区别      :        http://blog.51cto.com/nolinux/1317109

日志分析工具Awstats实战之Nginx篇-分析结果静态化 荐      :     http://blog.51cto.com/nolinux/1316979

 

 

高性能web服务器nginx(一)之基本概念    :        http://blog.51cto.com/cuchadanfan/1693495

高性能web服务器nginx(二)之常用功能举例            :     http://blog.51cto.com/cuchadanfan/1693878

高性能web服务器nginx(三)之源码搭建LNMP          :        http://blog.51cto.com/cuchadanfan/1694370

高性能web服务器nginx(四)之nginx的反向代理、负载均衡、缓存、URL重写        :  http://blog.51cto.com/cuchadanfan/1694827

Nginx查看 并发连接数         :          http://blog.51cto.com/ityunwei2017/1867909

配置Nginx网站https访问、http共存访问      :             http://blog.51cto.com/ityunwei2017/1852142

Linux下定时切割nginx日志并删除指定天数前的日志记录 荐          :        http://blog.51cto.com/ityunwei2017/1653088

使用Haproxy搭建web群集,代理调度nginx节点服务(内附源码包)     :        http://blog.51cto.com/13728740/2164213

Nginx企业级优化配置(隐藏版本,缓存,连接超时,日志切割,压缩,防盗链,)      :        http://blog.51cto.com/13728740/2163093 

nginx下如何做到应用的分版本部署          :     https://www.jianshu.com/p/70e45d917d19

nginx分析日志利器goaccess        :     https://www.jianshu.com/p/33e2e79d0373

高并发下的 Nginx 优化          :             https://www.jianshu.com/p/2184654ba4b2

Nginx反向代理部署指南     :       https://www.cnblogs.com/crazyacking/p/5138146.html

nginx location匹配规则               :   http://blog.chinaunix.net/uid-29179844-id-4761399.html

nginx图片服务器配置proxy_cache及purge错误解决方法     :    http://blog.chinaunix.net/uid-29179844-id-5203542.html

Graylog分析Nginx日志并通过GeoIP2获取访问者IP的地理位置信息荐         : http://blog.51cto.com/bigboss/2135163

 

阿里巴巴开源项目nginx_concat_module企业部署实例 荐            :         http://blog.51cto.com/nolinux/1580194

Nginx的定时切割日志脚本        :       http://blog.51cto.com/liangey/1624995

Nginx的500,502,504错误解决方法        :          http://blog.51cto.com/liangey/1624982

nginx 反向代理 504 错误     :     http://blog.51cto.com/nanchunle/1670006

 

Nginx 平滑重启        : http://blog.51cto.com/nanchunle/1643956

Flask+uwsgi+Nginx+Ubuntu部署            :     http://blog.51cto.com/fangwei009/1950940

Nginx实战系列之功能篇----后端节点健康检查 荐            :         http://blog.51cto.com/nolinux/1594029

Nginx使用Naxsi搭建Web应用防火墙(WAF),防xss、防注入×××    : http://blog.51cto.com/ityunwei2017/2154753

nginx限制客户端请求数+iptables限制TCP连接和频率来防止DDOS     :  http://blog.51cto.com/ityunwei2017/2153792  

OpenResty+Keepalived组建高可用集群+双主模式    : http://blog.51cto.com/ityunwei2017/2149243

Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结         : http://blog.51cto.com/13883927/2174309

 

Nginx高性能web服务器之安装(二)   :        http://blog.51cto.com/liangey/1631402

Nginx高性能web服务器之配置文件(三)     :            http://blog.51cto.com/liangey/1631451

Nginx高性能web服务器之反向代理(四)       :       http://blog.51cto.com/liangey/1631456

Nginx高性能web服务器之URL重写(五) 荐      :           http://blog.51cto.com/liangey/1631479

Nginx高性能web服务器之缓存服务器(六)          :      http://blog.51cto.com/liangey/1631509

Nginx高性能web服务器之负载均衡(七)     :           http://blog.51cto.com/liangey/1631520

Nginx高性能web服务器之性能优化(八)             :        http://blog.51cto.com/liangey/1631545

 

Nginx详解一(理论) : http://blog.51cto.com/hmtk520/2066183

Nginx详解(二)操作 : http://blog.51cto.com/hmtk520/2067542

Nginx详解(三)模块 : http://blog.51cto.com/hmtk520/2080685

Nginx详解(四)模块 : http://blog.51cto.com/hmtk520/2086268

impala常见错误小结 :   http://blog.51cto.com/caiguangguang/1355213

nginx httpcode分析脚本 荐   :  http://blog.51cto.com/caiguangguang/1371902

nginx qos计算sql  :   http://blog.51cto.com/caiguangguang/1395614

两例访问故障小结  :  http://blog.51cto.com/caiguangguang/1393707

 

轻量级HTTP服务器Nginx(安装篇)    : https://www.ixdba.net/archives/2012/06/174.htm

  轻量级HTTP服务器Nginx(配置与调试Nginx)  :  https://www.ixdba.net/archives/2012/06/176.htm

轻量级HTTP服务器Nginx(Nginx日常维护)   : https://www.ixdba.net/archives/2012/06/178.htm

轻量级HTTP服务器Nginx(常用配置实例)        : https://www.ixdba.net/archives/2012/06/180.htm

nginx 之 proxy_pass详解 :    https://www.ixdba.net/archives/2018/01/1123.htm

php-fpm优化之pm.max_children 设置多大合适?   : https://www.ixdba.net/archives/2018/03/1129.htm

Nginx跨域访问问题总结     : https://www.ixdba.net/archives/2017/05/642.htm

nginx配置https的部署实践   : https://mp.weixin.qq.com/s/8yWmwCpC7_NVHj8Uit_ZsA

 

Nginx+Tomcat实现动静分离 荐 :   http://blog.51cto.com/dl528888/804596

分享我做的nginx+keepalived做的主主架构(一) 荐 : http://blog.51cto.com/dl528888/830807

分享我做的nginx+keepalived做的主主架构(二) : http://blog.51cto.com/dl528888/835339

用lua扩展你的Nginx   : https://mp.weixin.qq.com/s/BEVXIGld9FKX4clM5B3kBg

接入层控制:nginx动态流量路由和负载均衡     : https://mp.weixin.qq.com/s/iut3GmQI5uri12am9qXskQ

Nginx反向代理与负载均衡:节点服务器单/多虚拟机配置+实验环境搭建+原理解析 荐 :    http://blog.51cto.com/xpleaf/1903565

Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试 荐 :      http://blog.51cto.com/xpleaf/1901284

在CentOS上编译安装Nginx+实验环境搭建+测试 荐  :      http://blog.51cto.com/xpleaf/1901122

通过Nginx主配置文件来理解各项组件功能            : http://blog.51cto.com/xpleaf/1901503

nginx 系列  :https://www.cnblogs.com/duanxz/category/611538.html

nginx配置location总结及rewrite规则写法   : https://www.jianshu.com/p/13f130df8f4b

Nginx常用屏蔽规则,让网站更安全 : https://www.jiloc.com/45087.html

Vultr 在Linux系统中Nginx环境下如何建立基于域名的虚拟主机? : https://www.jiloc.com/45034.html

nginx使用 logrotate 切割日志 图文教程 : https://www.jiloc.com/43285.html

Ngnix Discuz!论坛 Upload Error413错误 解决方法 图文教程 : https://www.jiloc.com/43090.html

nginx服务器http重定向到https 图文教程 : https://www.jiloc.com/43042.html

Chevereto Nginx 伪静态Rewrite规则 : https://www.jiloc.com/42868.html

Centos 7 Yum安装 Nginx 图文教程 : https://www.jiloc.com/42380.html

Linux 下Web服务器 Nginx 状态监控 查看nginx当前并发 连接 请求状态 图文教程 : https://www.jiloc.com/42193.html

Nginx 502 bad getway error connect to php5-fpm.sock failed (13: Permission denied) : https://www.jiloc.com/41781.html

Nginx 413 Request Entity Too Large 错误 解决办法 :  https://www.jiloc.com/41561.html

Nginx报错 html 403 forbidden (13: Permission denied)的解决办法 : https://www.jiloc.com/41499.html

nginx 配置站点 支持 http协议 80端口 https协议 443端口同时兼容访问 实例 : https://www.jiloc.com/40422.html

WordPress pingback DDOS攻击 nginx防护图文教程 : https://www.jiloc.com/40346.html

nginx 反向代理配置实例 及 CC防护iptables配置 教程  :  https://www.jiloc.com/38444.html 

linux下nginx设置静态页面压缩缓存和过期时间教程 : https://www.jiloc.com/38362.html

Linux 下Web服务器 Nginx 状态监控 查看nginx当前并发 连接 请求状态 图文教程 : https://www.jiloc.com/42193.html

申请ssl证书:https://freessl.wosign.com/ 

12个Nginx服务技巧让你瞬间变身超级达人 : https://mp.weixin.qq.com/s/kYVql4XjdrxjpRvYnwThug

做了「负载均衡」就可以随便加机器了吗? :https://mp.weixin.qq.com/s/ns9T02-zsO9I3tdG3XJbcw

Nginx面试中最常见的18道题
 : https://mp.weixin.qq.com/s/LKmf-R2m8nRnQadchV185g 

Nginx基本配置备忘  :https://zhuanlan.zhihu.com/p/24524057

Nginx反向代理和负载均衡 : https://zhuanlan.zhihu.com/p/40689824

Nginx负载均衡介绍 :https://zhuanlan.zhihu.com/p/46601216

nginx反向代理配置去除前缀 : https://www.jb51.net/article/159014.htm

Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法 : https://www.jb51.net/article/157917.htm

使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法 :  https://www.jb51.net/article/38046.htm

Nginx服务器搭建和基本配置详解 : https://www.jb51.net/article/72527.htm

安装配置php-fpm来搭建Nginx+PHP的生产环境 : https://www.jb51.net/article/77486.htm

Nginx服务器上搭建图片缓存服务的基本配置解析 : https://www.jb51.net/article/82200.htm

详解nginx配置location总结及rewrite规则写法 : https://www.jb51.net/article/134233.htm

为Nginx服务器配置黑名单或白名单功能的防火墙 : https://www.jb51.net/article/78759.htm

Nginx优化配置和内核优化 实现突破十万并发 : https://www.jb51.net/article/38263.htm

ELK环境部署+监控Nginx日志 : https://mp.weixin.qq.com/s/BMglrqRFQB-_6aX-9PQ6Zg

 

 

nginx 504 Gateway Time-out错误解决方法  :https://www.jb51.net/article/57708.htm

详解nginx服务器中的安全配置 : https://www.jb51.net/article/95832.htm

Nginx下让WordPress支持固定链接的伪静态规则  : https://www.jb51.net/article/34030.htm

单机多实例 nginx LB tomcat(session缓存)        :https://www.jianshu.com/p/68beae95a475

 

基于Keepalived+Nginx部署高可用7层负载均衡方案 : https://www.linuxidc.com/Linux/2017-02/141084.htm

wordpress文章发布后,nginx报404解决方法   :   https://www.jianshu.com/p/2ec4d7dcabe8

安装WordPress与配置    :       https://www.jianshu.com/p/9d9175082362

ubuntu搭建推流服务器Nginx+rtmp   :  https://www.jianshu.com/p/f0bf83ca3ea3

 

NGINX 优化 :

Nginx配置性能优化 :https://www.jianshu.com/p/3d4fa955d770

Nginx 性能参数优化  : https://www.jianshu.com/p/ede20130c28d

CentOS 7 Nginx1.12.2平滑升级到新版本nginx-1.13.3 :https://www.cnblogs.com/bigdevilking/p/9551302.html

强大!Nginx 配置在线一键生成“神器” : https://mp.weixin.qq.com/s/zFEk7XzHj3xPReDXEnQxcQ

 

CentOS -Nginx优化 (6) : https://blog.csdn.net/christ1208/article/details/43636887

Centos7安装nginx(三)之shell脚本自动化安装nginx : https://blog.csdn.net/Urms_handsomeyu/article/details/86480882

Nginx在线服务状态下平滑升级或新增模块的详细操作记录 : https://zhang.ge/4856.html

 

 

 

 

 

© 著作权归作者所有

寰宇01
粉丝 19
博文 420
码字总数 982921
作品 0
南京
程序员
私信 提问
在centos7上实现nginx+tomcat负载均衡

概述 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善web站点架构。 nginx是一款优...

凉夏了夏天
2018/08/12
0
0
使用 haproxy 搭建 web 群集

使用 haproxy 搭建 web 群集 案例概述: haproxy是目前比较流行的一种群集调度工具 。相比较而言 ,LVS 性能最好 ,但是搭建复杂 ,Nginx 的 upstream 模块支持群集功能 , 但是对群集节点的...

HHHNDYD
2018/06/25
0
0
云计算--培训课程大纲

第一阶段 Linux系统管理实战 01 打开计算机世界的大门 行业分析、计算机基础、 Windows server基础、网络基础 02 Linux基本管理 Linux安装、Linux常规命令、文本编辑器 03 Linux软件与文件系...

wy125629
2017/10/11
0
0
《实战Nginx:取代 Apache的高性能Web服务器》pdf下载

目录介绍: 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器的安装与配置 2.1 安装N...

绿悠悠
2010/06/17
17.3K
36
Zabbix4.0 for PostgreSQL (上篇):基础环境的搭建部署

概述 Zabbix大家都很熟悉,一般的是使用MySQL作为存储库来使用的,而我看使用手册上是使用postgresql也是可以的,所以就做了一次基于pg的zabbix搭建测试,记录下来,分享给大家 Server端配置...

高木易
2018/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
6
0
linux 命令-文本比较comm、diff、patch

本文原创首发于公众号:编程三分钟 今天学了三个文本比较的命令分享给大家。 comm comm 命令比较相同的文本 $ cat charabc$ cat chardiffadc 比如,我有两个文件char和chardiff如上,...

编程三分钟
今天
7
0
QML教程

https://blog.csdn.net/qq_40194498/article/category/7580030 https://blog.csdn.net/LaineGates/article/details/50887765...

shzwork
今天
5
0
HA Cluster之5

对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以...

lhdzw
今天
6
0
玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4+。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比...

zxiaofan666
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部