集群搭建tomcat+keepalived+nginx+memcached

集群搭建tomcat+keepalived+nginx+memcached

一、基础知识

1、linux基本命令

ps -aux | grep tomcat

ps -aux | grep java

ps -aux | grep pid

netstat  -anp |grep  portno即:netstat –apn | grep 8080

centos版本差异命令有区别,如启动服务:

Centos7:systemctlrestart iptables.service

Centos6:service iptablesrestart

二、架构图


说明:


三、安装配置

1、安装nginx

1.1、需要编译程序依赖包

yum install gcc gcc-c++ make automake autoconflibtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

1.2、安装配置

192.168.117.131和192.168.117.132机器上安装nginx

下载nginx包:wgethttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

建立nginx的yum仓库:rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装:yum install nginx

查看:whereis nginx

检查:/usr/sbin/nginx –t检查安装是否成功

启动:systemctl start nginx或/usr/sbin/nginx start

停止:systemctl stop nginx

重启:/usr/sbin/nginx -s reload

分别修改两台机器的/usr/share/nginx/html/index.html以区分效果

加入启动项:

vi /etc/rc.local增加一行:/usr/sbin/nginx

若开启防火墙需要开放端口:

vi /etc/sysconfig/iptables

添加内容:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重启防火墙:service iptables restart或systemctl restartiptables.service

配置:(需要先将130和133tomcat配置好)

192.168.117.131增加文件:vi /etc/nginx/conf.d/131.conf

upstream my_server {

server 192.168.117.130:8080 weight=3;

server 192.168.117.133:8080 weight=3;

#keepalive 2000;

}

server {

listen80;

server_name192.168.117.131;

client_max_body_size 1024M;

location / {

proxy_pass http://my_server/;

proxy_set_header Host $host:$server_port;

}

}

192.168.117.132增加文件:vi /etc/nginx/conf.d/132.conf

upstream my_server {

server 192.168.117.133:8080 weight=3;

server 192.168.117.130:8080 weight=3;

#keepalive 2000;

}

server {

listen80;

server_name192.168.117.132;

client_max_body_size 1024M;

location / {

proxy_pass http://my_server/;

proxy_set_header Host $host:$server_port;

}

}

2、安装配置Keepalived

2.1、安装配置

安装:yuminstall keepalived

检查版本:keepalived –v

查看:whereis keepalived

配置:

(1)新建文件:vi /etc/keepalived/nginx_check.sh

#!/bin/bash

A=ps -C nginx –no-header |wc -lif [ $A -eq 0 ];then

/usr/sbin/nginx

sleep 2

if [ps -C nginx--no-header |wc -l-eq 0 ];then

killall keepalived

fi

fi

(2)编辑keepalived.conf:vi /etc/keepalived/keepalived.conf

192.168.117.131如下:

! Configuration Filefor keepalived

global_defs {

router_idnode-01

}

vrrp_script chk_nginx {

script"/etc/keepalived/nginx_check.sh"

interval 2

weight -20

}

vrrp_instance VI_1 {

stateMASTER

interfaceens33

virtual_router_id 146

mcast_src_ip192.168.117.131

priority100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_nginx

}

virtual_ipaddress {

192.168.117.150

}

}

192.168.117.132如下:

! Configuration File for keepalived

global_defs {

router_idnode-02

}

vrrp_script chk_nginx {

script"/etc/keepalived/nginx_check.sh"

interval 2

weight -20

}

vrrp_instance VI_1 {

stateBACKUP

interfaceens33 #网卡

virtual_router_id 146

mcast_src_ip192.168.117.132

priority 90

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_nginx

}

virtual_ipaddress {

192.168.117.150

}

}

interfaceens33为网卡

3、安装配置memcached

3.1、安装配置

安装:yum -y install memcached

重启:service memcached restart

启动:service memcached start

开机启动:service memcached enable

状态:service memcached status

关闭:service memcached stop

查看状态:memcached-tool127.0.0.1:11211 stats

4、安装配置tomcat

进入目录:cd /home/wangyong

创建目录:mkdir test

上传:apache-tomcat-8.5.20.tar.gz到/home/wangyong/test/

解压:tar –zxvf apache-tomcat-8.5.20.tar.gz

重命名:mv apache-tomcat-8.5.20 tomcat-8.5.20

创建lib目录:mkdir memcachedlib

进入目录:cd /home/wangyong/memcachedlib下载以下依赖包

#下载memcached-session-manager jars to tomcat

wget http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/1.9.5/memcached-session-manager-1.9.5.jar

wget

http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc8/1.9.5/memcached-session-manager-tc8-1.9.5.jar

#使用memcached的时候要用到的jar文件

wget

http://repo1.maven.org/maven2/net/spy/spymemcached/2.11.1/spymemcached-2.11.1.jar

#使用javolution-serializer的时候用到的jar文件下载

wget

http://repo1.maven.org/maven2/de/javakaffee/msm/msm-javolution-serializer/1.9.5/msm-javolution-serializer-1.9.5.jar

wget http://www.java2s.com/Code/JarDownload/javolution/javolution-5.5.1.jar.zip

unzip

javolution-5.5.1.jar.zip

#下面是使用kryo-serializer的时候用到的jar文件下载

wget

http://repo1.maven.org/maven2/de/javakaffee/msm/msm-kryo-serializer/1.9.5/msm-kryo-serializer-1.9.5.jar

wget

http://repo1.maven.org/maven2/de/javakaffee/kryo-serializers/0.9/kryo-serializers-0.9.jar

#(相配合的kryo只能用3.+的版本。)

wget

http://repo1.maven.org/maven2/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar

wget

http://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar

wget

http://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.3/reflectasm-1.11.3.jar

wget http://repo1.maven.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.jar

将所下载的包移动到tomcat的lib目录下

mv *.jar /home/wangyong/test/tomcat-8.5.20/lib/

配置tomcat的context.xml

cd /home/wangyong/test/tomcat-8.5.20/conf

vi context.xml

增加以下内容:

sticky="false"

memcachedNodes="n1:192.168.117.130:11211 n2:192.168.117.133:11211"

failoverNodes=""

requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico)$"

sessionBackupAsync="false"

sessionBackupTimeout="500"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"

/>

四、运行调试

首先要把memcached的服务启动,然后是nginx服务,最后启动tomcat所在的每个子节点的服务

五、参考文章

1、Keepalived+Nginx实现高可用Web负载均衡

http://www.jianshu.com/p/da26df4f7d60

2、nginx代理配置

http://www.cnblogs.com/fanzhidongyzby/p/5194895.html

3、nginx+tomcat7集群,负载均衡和session共享

http://blog.csdn.net/remote_roamer/article/details/51133790

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容