Nginx+Tomcat 配置负载均衡集群

目的:

同一个项目部署到多个tomcat中,共用80端口。停掉其中任何一个(只要服务有一个在运行),都不会影响用户的使用。

一、项目准备

准备Java项目测试包。

2.访问该项目:

3.利用eclipse打包项目Test

二、准备tomcat及Java运行环境,此处省略。(百度很多,,,就不写了)

Java运行环境及tomcat安装完成后;复制一个tomcat在当前目录。

第一个tomcat 设置server.xml中的端口为8088

第二个tomcat 设置server.xml中的端口为8089

把Java项目Test.war分别放入tomcat1和tomcat2的webapps目录下。启动tomcat!

访问tomcat1地址:http://localhost:8088/Test/index.html

访问tomcat2地址:http://localhost:8089/Test/index.html

三、准备Nginx

描述:

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

Nginx 安装

1.安装编译工具及库文件

yum-y install make zlib zlib-devel gcc-c++libtool openssl openssl-devel

2.首先要安装 PCRE

PCRE 作用是让 Nginx 支持 Rewrite 功能。

2.1、下载 PCRE 安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

[root@bogon src]#wgethttp://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2.2、解压安装包:

[root@bogon src]#tar zxvf pcre-8.35.tar.gz

2.3、进入安装包目录

[root@bogon src]#cd pcre-8.35

2.4、编译安装

[root@bogon pcre-8.35]#./configure[root@bogon pcre-8.35]#make&&make install

2.5、查看pcre版本

[root@bogon pcre-8.35]#pcre-config--version

3.安装 Nginx

3.1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

[root@bogon src]#wgethttp://nginx.org/download/nginx-1.6.2.tar.gz

3.2、解压安装包

[root@bogon src]#tar zxvf nginx-1.6.2.tar.gz

3.3、进入安装包目录

[root@bogon src]#cd nginx-1.6.2

3.4、编译安装

[root@bogon nginx-1.6.2]#./configure--prefix=/usr/local/webserver/nginx--with-http_stub_status_module--with-http_ssl_module--with-pcre=/usr/local/src/pcre-8.35[root@bogon nginx-1.6.2]#make[root@bogon nginx-1.6.2]#make install

3.5、查看nginx版本

[root@bogon nginx-1.6.2]#/usr/local/webserver/nginx/sbin/nginx-v

到此,nginx安装完成。

4.配置nginx

4.1进入Nginx配置文件目录:

4.2vim nginx.conf配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

upstream Test{

server 127.0.0.1:8088;#服务器地址1

server 127.0.0.1:8089;#服务器地址2

}

4.3在location\{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。

location / {

root html; i

ndex index.html index.htm;

proxy_pass http://nginxDemo;#配置方向代理地址

}

查看配置文件Nginx.conf是否正确

/usr/local/webserver/nginx/sbin/nginx-t

启动Nginx:

/usr/local/webserver/nginx/sbin/nginx

访问Nginx是否启动成功:

http://localhost

Nginx启动成功后:

http://localhost/Test/index.html 就可以访问Test项目

停掉其中任意一台服务器都不会影响用户的使用!一个简单的负载均衡集群搭建完毕!

这样就方便随时升级,不至于每次测试完成后都要等到深夜!

五、nginx负载均衡策略5.1、轮询(默认)

每个web请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

5.2、最少链接

web请求会被转发到连接数最少的服务器上。

5.3、weight 权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,weight默认是1。

5.4、ip_hash

每个请求按访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一服务器进行处理,可以解决session的问题。当后台服务器宕机时,会自动跳转到其它服务器。

基于weight的负载均衡和基于ip_hash的负载均衡可以组合在一起使用。

5.5、url_hash(第三方)

url_hash是nginx的第三方模块,nginx本身不支持,需要打补丁。

nginx按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器、文件服务器、静态服务器时比较有效。缺点是当后端服务器宕机的时候,url_hash不会自动跳转的其他缓存服务器,而是返回给用户一个503错误。

5.6、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

本文来自企鹅号 - 一份情愫予我心安媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏进击的君君的前端之路

项目脚手架搭建概要

1897
来自专栏张善友的专栏

Enterprise Library 4.0缓存应用程序块

英文原文:http://msdn.microsoft.com/zh-cn/library/cc511588(en-us).aspx Enterprise Li...

1938
来自专栏别先生

Eclipse连接到My sql数据库之前操作

Eclipse连接到My sql数据库之前操作 1:首先是安装My sql数据库(为了减少你的麻烦,按照下面的连接,下载即可)百度云链接:http://pan....

2458
来自专栏软件工程师成长笔记

git在github远程仓库的克隆和上传使用教程

最近公司要做一个资产管理软件后台工程创建出来,用eclipse、用git做一下版本控制。

963
来自专栏张善友的专栏

ASP.NET 2.0 中 Web 事件

ASP.NET 2.0 还提供了全功能的应用程序监视和健康监视。这个系统是由一个完全可扩展事件模型和一个能将事件发送到多种接收器的事件引擎组成的。举例来说,您可...

2137
来自专栏Python小屋

Python+django网页设计入门(8):网站项目文件夹布局

然而,问题来了,在前面的课程中创建的网站项目文件夹结构似乎不是这样的,咋办呢?要重新创建项目吗?好像很麻烦啊。如果手工调整移动文件和文件夹,那么代码里的所有引用...

1122
来自专栏小樱的经验随笔

Linux目录结构

Linux 目录结构 装完Linux,首先需要弄清Linux 标准目录结构 ? / root —?启动Linux时使用的一些核心文件。如操作系统内核、引导程序G...

4276
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Munin监视工具

Munin是一个系统,网络和基础设施监控应用程序,通过Web浏览器以图形形式提供信息。它是围绕客户端 - 服务器架构设计的,可以配置为监控它所安装的机器(Mun...

1070
来自专栏腾讯云Elasticsearch Service

Elasticsearch跨集群数据迁移之离线迁移

用户在腾讯云上自建的ES集群或者在其它云厂商购买的ES集群,如果要迁移至腾讯云ES,用户可以根据自己的业务需要选择适合自己的迁移方案。如果业务可以停服或者可以暂...

2.9K9
来自专栏拂晓风起

CruiseControl 安装 配置 教程 实例 搭建服务器 (CruiseControl + git/svn)

1243

扫码关注云+社区

领取腾讯云代金券