Nginx安装upstream-fair模块_适用于Ubuntu系统

2018年10月09日 99 字 教程整理


The Nginx fair proxy balancer enhances the standard round-robin load balancer provided with Nginx so that it will track busy back end servers (e.g. Thin, Ebb, Mongrel) and balance the load to non-busy server processes.
fair是一个第三方Nginx-upstream负载均衡插件。upstream-fair 是比内建的负载均衡更加智能的负载均衡模块,fair模块会对全局的请求进行统计,并根据该服务器空闲状态,及处理过的请求及所有请求数、页面大小、加载时间长短智能的进行负载均衡。

本文将介绍Nginx集成upstream-fair的过程(本文假设Nginx已安装完成)。

0.1. 获取upstream-fair源码压缩包

进入upstream-fair项目官网: https://github.com/gnosek/nginx-upstream-fair ,选择下载适宜版本的压缩包至选定路径 ,如:

wget https://github.com/gnosek/nginx-upstream-fair/archive/master.zip
unzip master.zip

0.2. 重新编译安装Nginx

进入Nginx程序路径,输入 ./sbin/nginx -V ,查看并记录Nginx的configure参数:

在当前的配置参数之后追加 add-module 信息,将 nginx-upstream-fair-master 集成入配置参数,如:

--prefix=/usr/local/nginx --add-module=/usr/local/src/ngx_devel_kit-0.3.0 --add-module=/usr/local/src/lua-nginx-module-0.10.8 --add-module=/usr/local/src/nginx-upstream-fair-master

接下来进入Nginx安装文件路径,以上述configure参数重新make

cd /usr/local/src/nginx-1.11.3/
make clean

./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/ngx_devel_kit-0.3.0 --add-module=/usr/local/src/lua-nginx-module-0.10.8 --add-module=/usr/local/src/nginx-upstream-fair-master

make
make install

此时Nginx已成功集成ginx-upstream-fair 模块,在 nginx.conf 文件中可以对upstream做更多的均衡。

例:

0.2.1. nginx.conf(片段)

upstream www.vspnoa.tomcat_colony {    
    server localhost:8091;  
    server localhost:8092;  
    server localhost:8093;

    server localhost:8090;
    fair; 
}
upstream www.vspnoa.tomcat_colony_socket_connection_server {    
    server localhost:8094;
    server localhost:8095;
    fair; 
}
upstream www.vspnoa.tomcat_approve_process_colony {    
    server localhost:8096;
    server localhost:8097;
    fair; 
}