zoukankan      html  css  js  c++  java
  • 利用nginx为多个xxljob配置统一入口

      如何利用nginx为多个xxljob配置统一入口,而且用户登录后ip固定不会飘?

      首先,需要确保这些xxljob的上下文路径是一致的,上下文路径可以在根目录下xxl-job-admin/src/main/resources/application.properties中的server.servlet.context-path字段得知,默认为/xxl-job-admin。

      然后修改nginx.conf文件,其中location字段与proxy_pass中的路径需要与xxljob的上下文路径保持一致。

    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
        upstream xxljob-server{
            ip_hash;
            server XXX.XX.XX.XX:10100;#第一个xxljob后端地址
            server XXX.XX.XX.XX:10100;#第二个xxljob后端地址
        }
        server {
            listen       8080;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location /xxl-job-admin/ {
                proxy_pass http://xxljob-server/xxl-job-admin/;
                index index.html index.htm;
            }
        }
    }

    顺便总结下nginx的upstream负载均衡支持5种分配方式

    1.轮询(默认方式):每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器down掉后,能自动剔除。

    2.weight :可以指定轮询比率,weight和访问几率成正比,主要应用于后端服务器异质的场景下。

    upstream server {
         server XXX.XX.XX.XX weight=1;#第一个后端地址
         server XXX.XX.XX.XX weight=2;#第二个后端地址
         server XXX.XX.XX.XX weight=3;#第三个后端地址
    }

    3.ip_hash:每个请求按照访问ip(即Nginx的前置服务器或者客户端IP)的hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决session一致问题。

    4.fair:fair顾名思义,公平地按照后端服务器的响应时间(rt)来分配请求,响应时间短即rt小的后端服务器优先分配请求。

    upstream server {
         fair;
         server XXX.XX.XX.XX;#第一个后端地址
         server XXX.XX.XX.XX;#第二个后端地址
         server XXX.XX.XX.XX;#第三个后端地址
    }

    5.url_hash:与ip_hash类似,但是按照访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。

    upstream server {
         hash $request_uri;
         server XXX.XX.XX.XX;#第一个后端地址
         server XXX.XX.XX.XX;#第二个后端地址
         server XXX.XX.XX.XX;#第三个后端地址
    }
  • 相关阅读:
    【转】免费搭建独立博客,WordPress+独立域名+独立空间
    MongoDB索引
    面向对象
    浏览器为webapp
    转载Chrome浏览器IOS
    浅淡Webservice、WSDL三种服务访问的方式(附案例)
    Plupload
    转载Yale CAS + .net Client 实现 SSO(6)
    java 对Hbase的基本操作
    【精】iOS开发视频教程下载
  • 原文地址:https://www.cnblogs.com/jdWu-d/p/14179414.html
Copyright © 2011-2022 走看看