• nginx安装(windows下)及配置


    1. 正向代理和反向代理

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

        

      用单机tomcat搭建的网站,在比较理想的状态下能够承受的并发访问量在150200左右。按照并发访问量占总用户数量的5%10%这样计算,单点tomcat网站的用户人数在15004000左右。对于一个为全国范围提供服务的网站显然是不够用的,为了解决这个问题引入了负载均衡方法。负载均衡就是一个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.2conf ginx.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.2conf ginx.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秒,那么超时策略配置如下

  • 相关阅读:
    Vim 在 windows 环境下的初步配置
    空间向量在任意平面的投影公式推导 (矩阵方法)
    jquery中获取元素的几种方式小结
    开源框架
    将插入的新行放入dataGridView的第一行
    go-mod 入门
    docker 常用启动命令
    golang str 首字母大写
    遇到过的几个难搞的问题
    jwt、session、oauth 异同
  • 原文地址:https://www.cnblogs.com/zjfjava/p/8476804.html
Copyright © 2020-2023  润新知