nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx

上传人:b****1 文档编号:736755 上传时间:2023-04-29 格式:DOCX 页数:36 大小:384.94KB
下载 相关 举报
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第1页
第1页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第2页
第2页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第3页
第3页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第4页
第4页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第5页
第5页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第6页
第6页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第7页
第7页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第8页
第8页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第9页
第9页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第10页
第10页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第11页
第11页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第12页
第12页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第13页
第13页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第14页
第14页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第15页
第15页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第16页
第16页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第17页
第17页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第18页
第18页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第19页
第19页 / 共36页
nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx

《nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx》由会员分享,可在线阅读,更多相关《nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx(36页珍藏版)》请在冰点文库上搜索。

nginx+tomcat+memcached集群安装配置操作指导书文档格式.docx

Permissiondenied)whileconnectingtoupstream,client…16

现象描述16

原因分析16

处理方法16

表目录ListofTables

表1XX表Table1XX3

图目录ListofFigures

图1XX图Figure1XX3

Nginx+Tomcat+Memcached+Mysql集群安装配置操作指导书

关键词Keywords:

Nginx,Tomcat,Memcached,mysql,集群

摘要Abstract:

本文介绍了Nginx+Tomcat+Memcached集+Mysql集群的安装与配置

缩略语清单Listofabbreviations:

Abbreviations缩略语

Fullspelling英文全名

Chineseexplanation中文解释

1

集群组网

集群组网说明:

Nginx部署在前端,作为集群的负载均衡器,配置双网卡,分别连接内外网。

Tomcat服务器集群部署在内网,不与外网直接连接,以避免遭受外部攻击。

Tomcat服务器的session通过Memcached服务器进行共享,保证某台服务器挂掉以后,能够正常的进行故障转移。

2Nginx安装

2.1Nginx介绍

Nginx是一款轻量级的Web 

服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。

由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:

Рамблер)使用。

其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:

新浪、网易、腾讯等。

Nginx作为负载均衡服务器:

Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。

Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。

2.2Nginx安装

由于Nginx本身的健康检测不是太好用,如果后端服务器宕掉的话nginx是不能把这台realserver踢出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决服务故障转移,但这种方式每次还是会先把请求转发给这台服务器的,等待超时或者其他错误再转发给别的服务器,这样就浪费了一次转发,同时响应的比较慢。

目前比较流行的做法是借助淘宝技术团队开发的nginx模快补丁nginx_upstream_check_module来检测后方Realserver的健康状态,该补丁可以动态维护后端RealServer列表。

加补丁的Nginx在CentOs下的安装步骤:

首先去这里下载nginx健康检测模块yaoweibin/nginx_upstream_check_module

比如下的是

下面是nginx打上健康检测模块补丁的安装步骤:

#wgetdownload/

#tar-xzvftar–xzvf

#cd

#patch-p1<

/software/nginx_

注:

假设安装包都放在/software目录下,补丁需要选择与nginx版本对应的版本,比如以上版本的nginx,补丁为

#./configure--add-module=/software/nginx_

#make

#makeinstall

提示patch:

commandnotfound解决方法

ubuntu系统就sudoapt-getinstallpatch

centos/redhat就 

yuminstallpatch 

2.3Nginx启动、关闭、重启

采用源码安装方式,安装成功后Nginx安装目录在/usr/local/nginx目录下

启动命令:

#cd/usr/local/nginx/sbin

#./nginx

启动后通过添加–s参数来进行关闭、重启等的控制

语法:

nginx-ssignal

stop 

—fastshutdown

quit 

—gracefulshutdown

reload 

—reloadingtheconfigurationfile

reopen 

—reopeningthelogfiles

如果修改了nginx的配置文件,请用nginx–sreload,这样服务不会中断,不会影响到客户端访问

关闭命令:

#cd/usr/local/nginx/sbin

#./nginx–sstop

重启命令:

#./nginx–sreload

3JDK安装

步骤1:

到oracle官网下载JDK安装包

步骤2:

是一个自解压文件,不过解压后的文件是jdk-6u11-linux-i586-rpm包

#chmod+x

#./

步骤3:

执行rpm命令进行安装

#rpm-ivh

4Tomcat安装

Tomcat安装比较简单,到下载相应的版本的包,然后解压压缩包即可。

CentOs下的安装步骤如下:

#tar–zxvfconfigure 

–prefix=/usr/local

#make

安装Memcached

#tar-zxvf 

./configure 

--with-libevent=/usr/local

安装完成后会把memcached放到/usr/local/memcached

步骤4:

检查安装是否成功

#ls-al/usr/local/memcach*

成功的话,会输出一些相关信息

步骤5:

设置防火墙

vi 

/etc/sysconfig/iptables 

把下面这行加进去

-A 

RH-Firewall-l-INPUT 

-p 

tcp 

-m 

--dport 

11211 

-j 

ACCEPT 

将memcached加入到防火墙允许访问规则中

service 

iptables 

restart 

4.1Memcached启动和关闭

启动:

./memcached-d-m128-p11211-uroot

关闭:

ps-ef|grepmemcached.

Connectedtolocalhost.

Escapecharacteris'

^]'

.

stats

STATpid3512

STATuptime241980

STATtime91

STATversionlibeventpointer_size32

STATrusage_user

.......

连接到memcached之后,输入stats再按回车,即可获得包括资源利用率在内的各种信息;

此外输入“statsslabs”或“statsitems”还可以获得关于缓存记录的信息。

结束程序输入“quit”

centos默认没有telnet,需要按如下方法自己安装

#yuminstalltelnet

#yuminstalltelnet-server

#chkconfigtelneton

#servicexinetdrestart

5集群配置

5.1Nginx负载均衡及健康检测配置

按照如下内容修改/usr/local/nginx/conf/文件

http{

upstreamcluster{

#simpleround-robin

#RealServer的IP及端口

server:

80;

#健康检测的策略

checkinterval=5000rise=1fall=3timeout=4000;

#checkinterval=3000rise=2fall=5timeout=1000type=ssl_hello;

#checkinterval=3000rise=2fall=5timeout=1000type=http;

#check_http_send"

HEAD/HTTP/\r\n\r\n"

;

#check_http_expect_alivehttp_2xxhttp_3xx;

}

server{

listen80;

location/{

proxy_pass;

#设置查看集群状态的URL

location/status{

check_status;

access_logoff;

allow;

###允许某台机器可以查看状态

denyall;

5.2Tomcat的Session共享配置

使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。

但这个方案的效率比较低,在大并发下表现并不好。

比较好的方式是利用memcached把多个tomcat的session集中管理,前端再利用nginx负载均衡和动静态资源分离,在兼顾系统水平扩展的同时又能保证较高的性能。

Tomcat的session复制同步使用第三方的memcache-session-manager,配置步骤如下:

到Maven库搜索并下载如下jar包,然后放至Tomcat的\lib目录下:

tomcat6和7使用不同msm支持包:

和,只可选一,否则启动报错

修改\conf\文件,添加如下红色部分

<

Context>

<

ManagerclassName="

"

memcachedNodes="

n1:

:

11211"

requestUriIgnorePattern="

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

transcoderFactoryClass="

/>

…………………

5.3查看集群状态

通过访问,即可查看集群各节点的状态。

5.4集群启动关闭

集群启动请按照如下顺序进行:

a.启动Memcached

b.启动Tomcat

c.启动Nginx

集群关闭请按照如下顺序进行:

a.关闭Nginx

b.关闭Tomcat

c.关闭Memcached

增加服务器节点:

a.安装部署好Tomcat

c.增加该服务器

d.使用./nginx–sreload重新加载配置文件

6Mysq集群配置

6.1部署说明

Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件,目前只支持InnoDB引擎。

主要功能:

同步复制

真正的multi-master,即所有节点可以同时读写数据库

自动的节点成员控制,失效节点自动被清除

新节点加入数据自动复制

真正的并行复制,行级

用户可以直接连接集群,使用感受上与MySQL完全一致

优势:

因为是多主,所以不存在Slavelag(延迟)

不存在丢失交易的情况

同时具有读和写的扩展能力

更小的客户端延迟 

技术:

Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galeralibrary通讯,特别针对MySQL开发了wsrepAPI。

Xtrabackup进行InnoDB数据备份,支持在线热备份(备份时不影响数据读写)。

并有效的解决死锁,非阻塞。

方案总览:

三台mysql服务器,分别部署带wsrep插件的mysql。

分别安装Xtrabackup、Galera等工具

Mysql名称

IP地址

Node1

Node2

Node3

6.2安装前准备

6.2.1卸载自带mysql

1.步骤一

#yumremovemysqlmysql-servermysql-libscompat-mysql51

#rm-rf/var/lib/mysql

#rm/etc/

2.步骤二

注意:

查看是否还有mysql软件,有的话继续删除:

rpm-qa|grepmysql

6.2.2安装mysql集群(官网MariaDBGaleraCluster方案)

6.2.3添加mariaDByum资源

步骤1、进入yum资源目录

#cd/etc/步骤2、编辑repo文件

#vi

添加mysql资源库

模板如下:

[mariadb]

name=MariaDB

baseurl===1

注baseurl解释:

version:

mariadb版本号,例如,.

package:

发布版本.例如,centos6-x86和centos6-amd64

参考示例:

6.2.4安装galera

#yuminstallgalera

6.2.5安装

#yuminstallMariaDB-clientMariaDB-Galera-server

6.2.6编辑

#vi/etc/

*Galera-relatedsettings

#

[galera]

#Mandatorysettings

wsrep_provider=/usr/lib64/galera/

wsrep_provider_options="

=300M;

=1G"

wsrep_cluster_name="

my_wsrep_cluster"

#wsrep_cluster_address="

,"

wsrep_cluster_address="

"

binlog_format=row

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

wsrep_node_name="

node2"

wsrep_node_address="

wsrep_sst_method=rsync

wsrep_sst_auth=cluster:

media

#bind-address=

#Optionalsetting

#wsrep_slave_threads=1

#innodb_flush_log_at_trx_commit=0

#thisisonlyforembeddedserver

按照如上配置,编辑后保存。

配置项解释

属性名

含义

server-id

MySQL服务器的ID,必须是唯一的

wsrep_node_name

wsrep节点的ID,必须是唯一的

wsrep_provider

包地址

wsrep_cluster_address

集群中的其他节点地址,可以使用主机名或IP

wsrep_cluster_address=,mysqlnode3

wsrep_node_address

本机节点地址,可以使用主机名或IP

wsrep_sst_donor

一个逗号分割的节点串作为状态转移源,比如wsrep_sst_donor=node5,node3,如果node5可用,用node5,不可用用node3,如果node3不可用,最后的逗号表明让提供商自己选择一个最优的

wsrep_sst_method

同步sst方法。

目前总计有四种方法

mysqldump:

慢(除了小数据集),但是测试充分。

rsync:

大型数据集上快。

rsync_wan:

与rsync相同,网络用量小。

xtrabackup:

非常快,几乎非阻塞方法,基于xtrabackupPercona的工具。

wsrep_sst_auth

xtrabackup使用的用户名密码,本例中使用wsrep_sst_auth=cluster:

wsrep_cluster_name

galera集群的名字,必须是统一的

6.2.7启动mysql

步骤1、启动并配置第一台mysql

#servicemysqlstart–-wsrep-new-cluster(每次启动集群的第一个节点要加该参数)

提示启动成功后,登录mysql

如果登录需要密码,请使用如下语句查看

#cat/root/.mysql_secret

#TherandompasswordsetfortherootuseratSatFeb1412:

45:

212015(localtime):

QSwBMLBlVBBnejw5

其中QSwBMLBlVBBnejw5为第一次初始化mysql的随机密码

用这个密码登录后,需要重新设置mysql密码。

密令如下:

mysql>

SETPASSWORD=PASSWORD('

media'

);

目前的mysql密码为media,重启mysql后密码生效。

步骤2、启动余下结点

#servicemysqlstart

步骤3、配置mysql结点间访问权限

首先登录mysql,然后执行

#GRANTALLON*.*TO'

cluster'

@'

%'

IDENTIFIEDBY'

localhost'

root'

'

步骤4、通过查看4567端口确认集群是否启动:

#netstat-plantu|grepmysqld

步骤5、查询galera插件是否已启用:

#mysql-e"

SHOWstatusLIKE'

wsrep_ready'

–p

ON表示已经启动成功

SHOWVARIABLESLIKE'

wsrep_cluster_address'

-p

SHOWSTATUSLIKE'

wsrep%'

wsrep_cluster_size表示,已经成功连接的mysql主机个数。

Wsrep_incoming_address表示连接成功的主机地址和端口

6.2.8安装Xtrabackup(防止锁表,非阻塞)

保存如下内容:

#Name:

PerconaRPMRepository

#URL:

=CentOS$releasever-Percona

baseurl==1

gpgkey==1

步骤3、安装Xtrabackup

#yuminstallxtrabackup

6.2.9集群维护

1.启动集群

2.停止集群

#servicemysqlstop

3.状态查看

#servicemysqlstatus

4.查看mysql进程

#ps–ef|grepmysql

7AutoMySQLBackup热备份配置

7.1下载AutoMySQLBackup

projects/automysqlbackup/

7.2安装AutoMySqlBackup

步骤一、创建安装目录

把下载的文件拷贝到/root/下面

在/usr/local下面新建一个automysqlbackup文件夹,并进入这个文件夹

#cd/usr/local

#mkdirautomysqlbackup

# cdautomysqlbackup

步骤二、解压缩安装

#tar-xzvf/root/./

中途会有两个询问配置文件安装目录的地方,之间回车就好

安装完以后会有提示信息,告诉你如果不是当前用户下使用这个命令要怎么办:

步骤三、修改配置文件

#cd/etc/autumysqlbackup

#vi

(1)、文件里有一些基本的配置信息,比如连接mysqlserver的用户名、密码、IP地址的。

#UsernametoaccesstheMySQLserver.dbuser

CONFIG_mysql_dump_username='

#PasswordtoaccesstheMySQLserver.password

CONFIG_mysql_dump_password='

1234'

#Hostname(orIPaddress)ofMySQLserverlocalhost

CONFIG_mysql_dump_host='

(2)、配置backup存放路径

#Backupdirectorylocation/backups

CONFIG_b

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2