zoukankan      html  css  js  c++  java
  • 我知道的nginx配置

    1.nginx配置文件

    2.配置访问域名

    #京淘商品管理系统

    server {

    listen 80;

    server_name manage.jt.com;

    location / {

    proxy_pass http://localhost:8091;

    }

    }

    1. 负载均衡策略

    (1) 轮询

    #定义集群的配置

    upstream jt {

    server localhost:8091;

    server localhost:8092;

    server localhost:8093;

    }

    (2) 权重

    说明:根据服务器的性能,让高性能的服务处理更多的请求.

    配置:

     #定义集群的配置

    upstream jt {

    server localhost:8091 weight=6;

    server localhost:8092 weight=3;

    server localhost:8093 weight=1;

    }

    (3) IP_HASH

    问题描述:

    因为采用集群的部署,会有多台tomcat一齐提供服务.但是有些模块需要权限校验.必须实现Session共享.

    问题:如何保证Session共享呢??

    解决方案:

    1. URL重写技术

    实现思路:通过拦截器拦截全部的请求,之后动态拼接url?SessionId

    特点:效率低

    功能:解决Cookie禁用问题.

    1. IP_HASH技术

    说明:将用户的IP动态的绑定到特定的服务器中.之后用户的全部的请求都访问特定的服务器.

    注意:

    如果使用IP_hash那么轮询和权重则不生效

    用法:

    #定义集群的配置

    upstream jt {

    ip_hash;

    server localhost:8091 weight=6;

    server localhost:8092 weight=3;

    server localhost:8093 weight=1;

    }

    (4)实现nginx上下线

    问题描述:

    当后台的tomcat服务器,如果宕机,那么如果没有人修改Nginx的配置文件.则会导致Nginx的请求任然会发往宕机的机器.这时只能等待用户连接超时.

    方案A:

    如果发现宕机的机器,则认为的修改配置文件,将该服务器进行下线处理.

    该方案的用途:一般上线部署时使用.

    方案B:Nginx健康检测(心跳检测)

    说明:Nginx内部有健康检测的机制.如果检测到服务器不能正常连接.那么会在指定的周期内,不会再将用户的请求发往该机器.

         如果运维人员将服务器修复后,Nginx的健康检测,查询到该机器可以正常提供服务后,则在下一个周期内.使用该机器.

    如果当用户访问恰好访问到故障机.那么在Nginx超时时间过后,访问下一台服务器.为用户提供服务.

    (5)健康检测机制

     参数介绍:

    max_fails=1   Nginx健康检测的失败的次数

    fail_timeout=60s  表示在60秒内 不会再将请求发往故障机时间不宜过小 否则Nginx内部负载太高了.

    proxy_connect_timeout       1;     请求超时时间 1

    proxy_read_timeout          1;      读取资源的超时

    proxy_send_timeout          1;      发送数据的超时

    #定义集群的配置

    upstream jt {

    #ip_hash;

    server localhost:8091 max_fails=1 fail_timeout=60s;

    server localhost:8092 max_fails=1 fail_timeout=60s;

    server localhost:8093 max_fails=1 fail_timeout=60s;

    }

     

    #京淘商品管理系统

    server {

    listen 80;

    server_name manage.jt.com;

     

    location / {

    proxy_pass http://jt;

    proxy_connect_timeout   1;  

            proxy_read_timeout      1;  

            proxy_send_timeout      1;  

    }

    }

  • 相关阅读:
    Android中的Looper , Handler , Message有什么关系
    理解Android系统的进程间通信原理(二)----RPC机制
    深入浅出JVM
    Linux个人常用命令汇总
    垃圾收集器与内存分配策略
    Linux上部署Java应用+Python3环境搭建
    List中remove元素的理解
    Java异常
    深入理解Java 8 Stream
    深入理解Java 8 Lambda
  • 原文地址:https://www.cnblogs.com/cyk0127/p/9635890.html
Copyright © 2011-2022 走看看