1. 正向代理和反向代理

  正向代理是一个位于客户端【用户A】和原始服务器【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。即代理服务器替代访问方【用户A】去访问目标服务器【服务器B】。客户端必须要进行一些特别的设置才能使用正向代理。当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

    

  用单机tomcat搭建的网站,在比较理想的状态下能够承受的并发访问量在150到200左右。按照并发访问量占总用户数量的5%到10%这样计算,单点tomcat网站的用户人数在1500到4000左右。对于一个为全国范围提供服务的网站显然是不够用的,为了解决这个问题引入了负载均衡方法。负载均衡就是一个web服务器解决不了的问题可以通过多个web服务器来平均分担压力来解决,并发过来的请求被平均分配到多个后台web服务器来处理,这样压力就被分解开来。

  反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

    

2. 安装及启动nginx

  Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
  下载 解压(注意:解压路径不要包含中文),双击nginx.exe即可运行,可到服务中查看。打开浏览器http://localhost:80显示如下页面说明启动成功。
    

如果启动不成功,说明80端口被占用,可通过 netstat  -ano|findstr ":80" 查看

     

可通过修改 nginx-1.12.2\conf\nginx.conf 里的默认的端口配置来启动

    

nginx.conf 中节点作用:

  • worker_processes:工作进程个数,可配置多个

  • worker_connections:单个进程最大连接数

  • server:每一个server相当于一个代理服务器

  • lister:监听端口,默认80

  • server_name:当前服务的域名,可以有多个,用空格分隔(我们是本地所以是localhost)

  • location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里

  • index:当没有指定主页时,默认会选择这个指定的文件,可多个,空格分隔

  • proxy_pass:请求转向自定义的服务器列表

  • upstream name{ }:服务器集群名称

nginx的三个常用命令:

启动nginx: start nginx
关闭nginx: nginx -s stop
重新加载配置文件: nginx -s reload //可以在不关闭nginx的情况下更新配置文件.

3. nginx负载均衡配置

使用两个tomcat服务器演示(已配置好且都能正常使用),由于两个tomcat版本不一样,可以直接展现,这里就先不添加项目了

配置 nginx-1.12.2\conf\nginx.conf

访问同一网址 http://localhost:80 可发现页面在两个tomcat中来回切换

也可设置权重

注意,每次修改完配置需要重启一下nginx。

4. 超时策略

如果集群中的某个服务器挂了,此时nginx分发请求到该服务器时,如果没有配置超时策略,会出现一段至少1分钟的等待,超过了客户端的响应时间,会造成客户端超时情况,使Nginx报499。

主要介绍如下几个参数:

  • proxy_connect_timeout:与服务器连接的超时时间,默认60s
  • proxy_timeout:nginx接收后端服务器的响应超时时间,默认值为10min,尽量取默认值
  • fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
  • max_fails:允许连接失败次数,默认为1

在nginx.conf中的配置:

设置客户端响应时间=proxy_connect_timeout + fail_timeout*max_fails,如我的客户端响应时间设置为3秒,那么超时策略配置如下

nginx安装(windows下)及配置的更多相关文章

  1. Nginx 安装以及反向代理配置(windows)

    安装 windows 下 Nginx 安装非常简单,下载地址 http://nginx.org/en/download.html. 选择红框这个,下载下来是个 zip 文件,解压.这时我们双击根目录的 ...

  2. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  3. Lua在Windows下的配置、安装、运行

    Windows下安装.运行Lua! 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1↓ 进入Lua官网:h ...

  4. Nginx 在windows下配合iis搭建负载均衡过程 [转]

    因为项目遇到大量图片存储问题,虽然现在我们图片还不是很多(目前在1T上下,预计增长速度每年1.3倍的增长速度),自己在思考如何有效地存储大量图片时,查找一些资料,看到了,有人使用 Nginx搭建服务器 ...

  5. Nginx在Windows平台的配置

    Nginx在Windows平台的配置 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.什么是Nginx 2.为什么使用Nginx 背景: 互联网飞速发展的今天,大用户量高并发已经成为互联 ...

  6. nginx安装及负载均衡配置

    Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二 ...

  7. dpm-release3.1在windows下的配置

    dpm-release3.1在windows下的配置 dpm是做目标检测objecjt detection的经典方法.dpm系列代码默认是在linux和mac下运行测试过的,windows下默认是不能 ...

  8. Windows下gvim配置

    Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...

  9. Tomcat7.0.22在Windows下详细配置过程

    Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...

  10. Oracle 11g即时客户端在windows下的配置

    Oracle 11g即时客户端在windows下的配置 by:授客QQ:1033553122 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1. 假 ...

随机推荐

  1. C# 校验车架号(VIN码)第9位是否有效算法

    public static bool checkVIN(string vin) { //VIN码从第1位到第17位的“加权值”: Dictionary<int, int> vinMapWe ...

  2. go语言怎么从(json后的)多层map中取值

    // 一个PHP中的多层关联数组,即Go中的多层map,如何从json字符串中解析,然后取到map中的某个具体的值. // 数据结构如下: cityInfo := "{ "stat ...

  3. Django—跨域请求

    同源策略 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 而如果我们要跳过这个策略,也就是说非要跨域请求,那么就需要通过J ...

  4. WebApi接口测试工具

    原文出处: 懒得安分 前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗. ...

  5. 移动端rem移动适配

    https://www.cnblogs.com/jingwhale/p/5741567.html

  6. class文件与dex文件解析

    关于Android的热修复与插件化技术在如今基本上已经成为了“时髦技术”的标配了,或者说用来进行“炫技”的一种方式,毕境如今Android已经发展得非常之成熟了,基本上APP用的到东东都差不多,除了业 ...

  7. SCU 4442 party 二分图最大点权独立集

    每个青蛙喝黑茶或者红茶或者都可以喝 M个矛盾关系 有矛盾的不能喝同种茶 但你可以花费Wi使得这个青蛙消除所有矛盾 把矛盾当作边 青蛙当作点 如果这两个青蛙只喝不同的一种茶就不建边 题目中保证了不存在奇 ...

  8. [暂停维护]基于8211lib库对s57电子海图的解析和存储

    此篇博文停止维护,欢迎移步最新地址(含源代码),https://www.yanlongwang.net/USV/ENC-analysis-store.md/, 查看最新文章. 电子海图是为适用航海需要 ...

  9. Linq 分组查询

    根据部门分组 ,然后存储部门下所有员工 public class Custom { public string dname { get; set; } public List<Employees ...

  10. Mixed Content混合内容错误 Iframe Http页面无法访问

    问题描述 为通过安全测试, 系统升级为https, 后由于新增了接口(页面集成方式, 即第三方系统某一个界面需要嵌入到我们系统的某个页面中) 采用iframe和重定向方式都报同样的错误, 意思就是我们 ...