Nginx HTTP负载均衡示例
2016-07-23 01:19
393 查看
Nginx是一个高性能的HTTP和反向代理服务器,通过其本身的Upstream模块,我们可以将其作为7层负载均衡服务器使用,其支持的负载均衡策略如下:
1,轮询:将请求依次轮询发给每个服务器
2,最少链接:将请求发送给持有最少活动链接的服务器
3,IP哈希:通过哈希函数决定请求发送给哪个服务器
4,权重:服务器的权重越高,处理请求的概率越大
系统整体结构如下:
![](https://img-blog.csdn.net/20160723003849034?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
系统总共使用3台服务器
Nginx安装在ubuntu1上,Nginx的安装参见:
Nginx安装启动
2台Tomcat服务器分别安装在ubuntu2和ubuntu3上,安装步骤如下:
1,安装JDK
上传jdk-7u80-linux-x64.tar.gz包至服务器
2,配置环境变量
在文件最后添加
3,安装Tomcat
上传apache-tomcat-7.0.70.tar.gz包至服务器
将Web工程打成war包,并上传至/home/sean/apache-tomcat-7.0.70/webapps路径下
4,启动Tomcat服务器
访问Tomcat1将会看到
![](https://img-blog.csdn.net/20160723005941921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
访问Tomcat2将会看到
![](https://img-blog.csdn.net/20160723010030011?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
修改Nginx的配置文件:
配置完成之后就可以启动Nginx服务器了
由于负载均衡策略为round-robin,此时如果我们访问http://192.168.52.128/Service/,会看到页面交替显示This is ubuntu 2!和This is ubuntu 3!
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!
相关文章推荐
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- 负载均衡技术沙龙1期(关于咱的图片)
- 负载均衡沙龙活动第二期现场问答汇集
- Nginx 学习笔记(一)
- 流量引导:网络世界的负载均衡解密
- 流量引导:网络世界的负载均衡解密
- 网站502与504错误分析
- 用zabbix监控nginx_status状态
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- 浅谈sqlserver的负载均衡问题
- web 应用中常用的各种 cache详解