专栏首页应用案例Nginx+Tomcat 配置负载均衡集群

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 条评论
登录 后参与评论

相关文章

  • 服务器租用、服务器托管、云服务器哪个好?

    服务器租用、服务器托管、云服务器代表了云计算公司对企业客户提供的三种不同模式的服务——物理云,托管云和公有云。云计算虽然技术门槛比较高,对于非专业人士比较神秘。...

    企鹅号小编
  • 中国香港服务器与大陆服务器有什么区别

    随着国家对国内互联网环境的整治,国内的网络环境也变得越来越安全、干净。同时也给很多企业和站长建站时提出了更多的要求,除了内容上限制的更多,备案也成为了业内褒贬不...

    企鹅号小编
  • 2017年十大技术突破之强化学习

    作者|Will Knight 译者|严子怡 编辑|Emily 12 月,在巴塞罗那举行的今年最大的人工智能会议上,我目睹了这场模拟驾驶的全过程。最让我惊讶的是,...

    企鹅号小编
  • 上云同步做架构优化才能事半功倍!

    最近的疫情逐渐平缓,但网上秒杀抢口罩的活动仍很火爆。某公司运维人员反馈,使用了32核CPU、64G内存的服务器仍然抵不住该市疯狂的网上抄杀热情。

    希望的田野
  • Python爬虫系列(五)360图库美女图片下载

    这几天终于忙完毕设和学校的事情,终于有时间来写Python了(( ̄▽ ̄)~*)。前些天在群里看到有人讨论这个360美女图库 的爬取。自己今天也尝试下(蛮简单...

    致Great
  • 【公众号开发】用Serverless快速上手微信公众号开发

    传统意义上来说,想给微信公众号增加更多的功能,需要我们有一台服务器,搭建一个微信公众号的后台服务。那么在Serverless架构下,我们是否有超简便的方法来实现...

    Dfounderliu
  • jmeter(四十四)常用性能指标分析

    我们在用jmeter做性能测试的时候,有一些关键性的性能指标需要去分析。但是由于开源工具本身的局限性,这些指标在工具中的命名极易对我们造成混淆。所以我们需要对这...

    飞天小子
  • 前端:后端,我要分手,咱两不合适

    前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型...

    用户5224393
  • 写 JSP 的痛点,真的非常痛!

    前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型...

    Java技术栈
  • Linux 服务器安全防护CVE级别 可SUDO提权到管理员

    linux一直以来很少有漏洞,稳定,高效,安全.深受网站,app运营者的喜欢与青睐,很多网站服务器的运营技术和运维,在维护服务器的同时都会使用sudo命令来做安...

    技术分享达人

扫码关注云+社区

领取腾讯云代金券