nginx安装(windows下)及配置 1. 正向代理和反向代理 2. 安装及启动nginx 3. nginx负载均衡配置 4. 超时策略

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

    nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

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

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

    nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

2. 安装及启动nginx

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

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

     nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

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

    nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

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安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

配置 nginx-1.12.2conf ginx.conf 

     nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

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

nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

也可设置权重

nginx安装(windows下)及配置
1. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略

注意,每次修改完配置需要重启一下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. 正向代理和反向代理
2. 安装及启动nginx
3. nginx负载均衡配置
4. 超时策略