反向代理负载均衡

全面了解 Nginx 主要应用场景

好久不见. 提交于 2020-02-07 06:51:58
前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流 Nginx能做什么 反向代理 负载均衡 HTTP服务器(包含动静分离) 正向代理 以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做 反向代理 反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。下面贴上一段简单的实现反向代理的代码 server { listen 80 ; server_name localhost ; client_max_body_size 1024 M ; location / { proxy_pass http : / / localhost : 8080 ; proxy_set

Nginx重要概念理解-正向代理和反向代理

人走茶凉 提交于 2020-02-06 09:09:16
Nginx是有俄罗斯人伊戈尔·赛索耶夫(Igor Sysoev)为俄罗斯访问量第二的rambler.ru站点开发的轻量级Web服务器,同时也是一个非常高效的反向代理、负载平衡服务器。在性能上,Nginx占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上,Nginx安装简单、配置灵活。 本文主要从正向代理,反向代理和负载均衡三个方面简单介绍Nginx的工作原理。 正向代理 正向代理也可以理解为客户端代理,Nginx代替客户端向明确的服务器发送请求,对于服务器来说客户端完全透明。如上图所示,客户机数量的多少不重要,重要的是客户机一定是知道将要访问的是哪台服务器。而且代理服务器是可以不知道客户机要访问哪里的,代理服务器可以从客户机的请求中解析出目标服务器的地址。 在生活中很多场景都可以形象的展现正向代理的例子。比如客户去某 品牌专卖店购物 ,在客户购买产品这个过程中,专卖店就是个代理的角色。对于客户而言,客户明确指明了购买哪个厂家的具体哪个产品,专卖店需要明确的去这个厂家取货就可以了。上述这样的代理模式称为正向代理。 在软件应用的场景来说FQ最能体现这个正向代理模式。正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端

Nginx+uWSGI+Django

百般思念 提交于 2020-02-05 08:07:55
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django。而为什么一定要三个结合在一起呢?直接使用Django的runserver来启动服务器进程,或者uWSGI+Django可不可以呢?为什么? 概念说明: APP(应用程序),就是开发者写的应用程序,例如django,bottle这些。记录怎么处理客户端发来的请求的逻辑部分。 WSGI,是一个协议,Python用于Web开发的协议 uWSGI,是一个程序,充当Web服务器或中间件。 如果架构是Nginx+uWSGI+APP,uWSGI是一个中间件 如果架构是uWSGI+APP,uWSGI是一个服务器 uwsgi,是uWSGI程序实现的一个自有的协议。 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi CGI,最早的协议 FCGI,比CGI快 WSGI,Python专用的协议 uwsgi,比FCGI和WSGI都快,是uWSGI项目自有的协议,主要特征是采用二进制来存储数据,之前的协议都是使用字符串,所以在存储空间和解析速度上,都优于字符串型协议. 官方介绍 一、WSGI协议 浏览器请求一个页面的流程: 浏览器发送请求给服务器,包含请求头和请求体 服务器解析请求头和请求体 服务器根据请求信息来处理请求,生成返回内容

Nginx+uWSGI+Django原理

给你一囗甜甜゛ 提交于 2020-02-05 08:07:13
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django。而为什么一定要三个结合在一起呢?直接使用Django的runserver来启动服务器进程,或者uWSGI+Django可不可以呢?为什么? 概念说明: APP(应用程序),就是开发者写的应用程序,例如django,bottle这些。记录怎么处理客户端发来的请求的逻辑部分。 WSGI,是一个协议,Python用于Web开发的协议 uWSGI,是一个程序,充当Web服务器或中间件。 如果架构是Nginx+uWSGI+APP,uWSGI是一个中间件 如果架构是uWSGI+APP,uWSGI是一个服务器 uwsgi,是uWSGI程序实现的一个自有的协议。 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi CGI,最早的协议 FCGI,比CGI快 WSGI,Python专用的协议 uwsgi,比FCGI和WSGI都快,是uWSGI项目自有的协议,主要特征是采用二进制来存储数据,之前的协议都是使用字符串,所以在存储空间和解析速度上,都优于字符串型协议. 官方介绍 一、WSGI协议 浏览器请求一个页面的流程: 浏览器发送请求给服务器,包含请求头和请求体 服务器解析请求头和请求体 服务器根据请求信息来处理请求,生成返回内容

反向代理、负载均衡!优秀的 Nginx 是如何做到的?

我是研究僧i 提交于 2020-02-04 01:46:34
想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache 吧! Nginx 的产生 Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议提供各种网络服务。 然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个 Web 服务器有着各自鲜明的特点。 Apache 的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。 它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。 它不支持高并发的服务器。在 Apache 上运行数以万计的并发访问,会导致服务器消耗大量内存。 操作系统对其进行进程或线程间的切换也消耗了大量的 CPU 资源,导致 HTTP 请求的平均响应速度降低。 这些都决定了 Apache 不可能成为高性能 Web 服务器,轻量级高并发服务器 Nginx 就应运而生了。 俄罗斯的工程师 Igor Sysoev,他在为 Rambler Media 工作期间,使用 C 语言开发了

nginx反向代理

独自空忆成欢 提交于 2020-01-28 13:33:18
版权声明:本文为CSDN博主「php_zzy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_42030417/article/details/83185809 Nginx配置详解 nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站

nginx基本功能和工作原理

允我心安 提交于 2020-01-27 13:18:40
nginx能做什么 反向代理 正向代理 负载均衡 HTTP服务器(包含动静分离) 反向代理和正向代理 正向代理。简单的说,我是一个用户,我无法直接访问一个网站,但是我能访问一个代理服务器,这个代理服务器能访问那个我不能访问的网站,于是我先连上代理服务器,告诉它我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录。结论就是,正向代理,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理。例如我要访问 localhost:8080/views/test1 这个页面,但view对应的服务器上并没有test1这个资源,它是从另一台服务器上调用的资源。这样view对应的那个服务器就使用了反向代理。即用户只需要把请求发给特定的反向代理服务器,具体请求是谁处理的用户不需要知道(其实也不知道),由代理服务器统一处理。结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器

了解Nginx

孤街浪徒 提交于 2020-01-26 23:15:58
Nginx 的产生 Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议提供各种网络服务。 然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个 Web 服务器有着各自鲜明的特点。 Apache 的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。 它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。 它不支持高并发的服务器。在 Apache 上运行数以万计的并发访问,会导致服务器消耗大量内存。 操作系统对其进行进程或线程间的切换也消耗了大量的 CPU 资源,导致 HTTP 请求的平均响应速度降低。 这些都决定了 Apache 不可能成为高性能 Web 服务器,轻量级高并发服务器 Nginx 就应运而生了。 俄罗斯的工程师 Igor Sysoev,他在为 Rambler Media 工作期间,使用 C 语言开发了 Nginx。 Nginx 作为 Web 服务器一直为 Rambler Media

Nginx(一)初认识

瘦欲@ 提交于 2020-01-26 17:16:57
文章目录 Nginx  正/反向代理  Nginx应用场景  Nginx配置  示例演示   Nginx配置文件   静态资源服务器  Nginx请求处理流程 结束语 Nginx   对于Nginx不进行过多的介绍,只需要知道:Nginx是一个高性能的web服务器,其可以作为HTTP服务器,亦可作为反向代理服务器以及邮件服务器。   延续上面的解释,需要了解一下什么是正向代理以及反向代理。  正/反向代理    所谓的正向代理,就是客户端让一个中介来充当自己的角色,向目标服务器发送请求,而这个中介则是代理服务器,即如下图所示:    那么由于是代理服务器去向目标服务器发送请求,在代理服务器未公开的情况下,目标服务器并不知道真正的访问者是谁,提高安全性。并且,通过代理服务器还可以提前缓存请求的内容,以此来提高访问速度。    而 反向代理服务器 其实也是一个连接客户端和目标服务器的中介,只不过这个 中介是充当目标服务器的角色 ,即如下图所示:    由于这个中介是代表了服务器,那么就不会暴露实际访问的目标服务器,也就是说,可以相应地提高目标服务器的安全性。并且这个中介还可以充当一个负载均衡的服务器,即可以根据目标服务器的工作负荷情况,将请求发送到合适的服务器。   在了解完正向代理和反向代理的概念以后,再来讲讲Nginx的应用场景。  Nginx应用场景   

Nginx 反向代理

与世无争的帅哥 提交于 2020-01-26 00:58:11
什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。 为什么要使用代理服务器 提高访问速度 : 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。 防火墙作用 : 由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。 通过代理服务器访问不能访问的目标站点 : 互联网上有许多开放的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,虽然不能出国,但也可直接访问外网。 什么是正向代理 正向代理 ,架设在客户机与目标主机之间,只用于代理内部网络对 Internet 的连接请求,客户机必须指定代理服务器,并将本来要直接发送到 Web 服务器上的 HTTP 请求发送到代理服务器中。 什么是反向代理 反向代理 服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给 Internet 上请求连接的客户端