fair采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小、加载时间长短智能的进行负载均衡。
这算是没有安装fair的情况
[root@localhost sbin]# ./nginx -V
nginx version: nginx/1.4.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
模块
模块下载地址:nginx-upstream-fair-master.zip
下面分为两种情况, 一种是之前已经安装好nginx的了, 另一种是还未安装nginx的。
未安装nginx
在nginx源码目录下
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master
编译安装
make && make intstall
已安装nginx
在nginx源码目录下
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master
编译
make
这是只需要编译, 不需要安装, 如果再make install就会把原来的nginx覆盖了。
此时编译完成, 会在当前的源码目录下生成一个objs目录
[root@localhost nginx-1.4.2]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src
objs目录下的文件如下
[root@localhost objs]# ll
总用量 3176
drwxr-xr-x 3 root root 4096 1月 10 16:16 addon
-rw-r--r-- 1 root root 14152 1月 10 16:16 autoconf.err
-rw-r--r-- 1 root root 36804 1月 10 16:16 Makefile
-rwxr-xr-x 1 root root 3129478 1月 10 16:17 nginx
-rw-r--r-- 1 root root 5243 1月 10 16:17 nginx.8
-rw-r--r-- 1 root root 5969 1月 10 16:16 ngx_auto_config.h
-rw-r--r-- 1 root root 657 1月 10 16:16 ngx_auto_headers.h
-rw-r--r-- 1 root root 3812 1月 10 16:16 ngx_modules.c
-rw-r--r-- 1 root root 29760 1月 10 16:17 ngx_modules.o
drwxr-xr-x 8 root root 4096 1月 10 16:16 src
复制nginx
cp objs/nginx /usr/local/nginx/sbin/nginx
覆盖它
配置fair
upstream backserver {
fair;
server 192.168.0.14;
server 192.168.0.15;
}
重新启动nginx
service nginx restart
验证
cd /usr/local/nginx/sbin
./nginx -V
[root@localhost sbin]# ./nginx -V
nginx version: nginx/1.4.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
configure arguments: --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/usr/local/nginx-upstream-fair-master