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;#第三个后端地址
    }
  • 相关阅读:
    狼羊过河问题
    java实现透明窗体
    商人胡萝卜问题
    NXP迅为IMX8开发板Andaoid编译环境搭建
    迅为龙芯2K1000开发板Linux下gcc编译
    迅为恩智浦i.MX8MM开发平台虚拟机安装Ubuntu16.04系统
    恩智浦NXP迅为i.MX6Q开发板资料提升了
    迅为龙芯2K1000开发板Linux工具之make工具和Makefile文件
    迅为瑞芯微3399开发板minimalYocto文件系统的构建
    迅为恩智浦IMX6Q开发板Buildroot 文件系统 alsa 声卡工具测试
  • 原文地址:https://www.cnblogs.com/jdWu-d/p/14179414.html
Copyright © 2011-2022 走看看