您的位置:首页 > 理论基础 > 计算机网络

Nginx HTTP负载均衡示例

2016-07-23 01:19 393 查看
Nginx是一个高性能的HTTP和反向代理服务器,通过其本身的Upstream模块,我们可以将其作为7层负载均衡服务器使用,其支持的负载均衡策略如下:

1,轮询:将请求依次轮询发给每个服务器

2,最少链接:将请求发送给持有最少活动链接的服务器

3,IP哈希:通过哈希函数决定请求发送给哪个服务器

4,权重:服务器的权重越高,处理请求的概率越大

系统整体结构如下:


系统总共使用3台服务器

Nginx安装在ubuntu1上,Nginx的安装参见:

Nginx安装启动
2台Tomcat服务器分别安装在ubuntu2和ubuntu3上,安装步骤如下:

1,安装JDK

上传jdk-7u80-linux-x64.tar.gz包至服务器

sean@ubuntu2:~$ tar -xzf jdk-7u80-linux-x64.tar.gz

2,配置环境变量

sean@ubuntu2:~$ vi .bashrc

在文件最后添加

export JAVA_HOME=/home/sean/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3,安装Tomcat

上传apache-tomcat-7.0.70.tar.gz包至服务器

sean@ubuntu2:~$ tar -xzf apache-tomcat-7.0.70.tar.gz

将Web工程打成war包,并上传至/home/sean/apache-tomcat-7.0.70/webapps路径下

sean@ubuntu2:~/apache-tomcat-7.0.70/webapps$ ll
total 36
drwxr-xr-x  8 sean1 sean1 4096 Jul 18 23:46 ./
drwxrwxr-x  9 sean1 sean1 4096 Jul 18 21:52 ../
drwxr-xr-x 14 sean1 sean1 4096 Jul 18 21:52 docs/
drwxr-xr-x  7 sean1 sean1 4096 Jul 18 21:52 examples/
drwxr-xr-x  5 sean1 sean1 4096 Jul 18 21:52 host-manager/
drwxr-xr-x  5 sean1 sean1 4096 Jul 18 21:52 manager/
drwxr-xr-x  3 sean1 sean1 4096 Jul 18 21:52 ROOT/
drwxrwxr-x  4 sean1 sean1 4096 Jul 18 23:54 Service/
-rwxrw-rw-  1 sean1 sean1 1367 Jul 18 23:45 Service.war*

4,启动Tomcat服务器

sean@ubuntu2:~$ cd /home/sean/apache-tomcat-7.0.70/bin/
sean@ubuntu2:~/apache-tomcat-7.0.70/bin$ ./startup.sh

访问Tomcat1将会看到


访问Tomcat2将会看到


修改Nginx的配置文件:

worker_processes  1;

events {
use  epoll;
worker_connections  1024;
}

http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
keepalive_timeout  65;

upstream tomcat_group {
# If there is no specific strategy, round-robin
#     would be the default strategy.
# least_conn;
# ip_hash;
server 192.168.52.129:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.52.130:8080 weight=1 max_fails=2 fail_timeout=30s;
}

server {
listen       80;
server_name  localhost;

location / {
proxy_pass http://tomcat_group; }
}
}

配置完成之后就可以启动Nginx服务器了

由于负载均衡策略为round-robin,此时如果我们访问http://192.168.52.128/Service/,会看到页面交替显示This is ubuntu 2!和This is ubuntu 3!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息