Nginx+keepalived+heartbeat双机热备份配置手册.doc

上传人:laozhun 文档编号:2388664 上传时间:2023-02-17 格式:DOC 页数:31 大小:316.50KB
返回 下载 相关 举报
Nginx+keepalived+heartbeat双机热备份配置手册.doc_第1页
第1页 / 共31页
Nginx+keepalived+heartbeat双机热备份配置手册.doc_第2页
第2页 / 共31页
Nginx+keepalived+heartbeat双机热备份配置手册.doc_第3页
第3页 / 共31页
Nginx+keepalived+heartbeat双机热备份配置手册.doc_第4页
第4页 / 共31页
Nginx+keepalived+heartbeat双机热备份配置手册.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Nginx+keepalived+heartbeat双机热备份配置手册.doc》由会员分享,可在线阅读,更多相关《Nginx+keepalived+heartbeat双机热备份配置手册.doc(31页珍藏版)》请在三一办公上搜索。

1、Nginx+keepalived+heartbeat双机热备份配置手册正文目录1 双机热备简介42 双机热备安装与配置52.1 安装环境和软件版本说明52.2 系统安装52.3 JDK环境安装配置52.4 MYSQL安装配置72.4.1 基本安装配置72.4.2 数据库双机互备72.5 反向代理服务器NGINX的安装配置92.6 KEEPALIVED安装配置132.7 HEARTBEAT的安装配置152.8 APACHE-TOMCAT安装配置173 CENTOS下安装配置的改动193.1 NGINX193.2 KEEPALIVED213.3 HEARTBEAT243.4 添加SHELL脚本26

2、1 双机热备简介双机热备及负载均衡配置图如下所示2 双机热备安装与配置2.1 安装环境和软件版本说明系统:Linux Ubuntu 10.10JDK环境:jdk-6u31-linux-i586方向代理服务器Nginx:nginx-0.7.67探测服务器状态软件Keepalived:keepalived-1.1.17Web服务器:Apache-tomcat:apache-tomcat-6.0.35数据库MySQL:mysql-5.1.612.2 系统安装2.3 JDK环境安装配置1 、安装jdk 程序最新版本jdk: jdk-6u31-linux-i586.bin进入usr 目录: cd /us

3、r在当前目录创建目录java : mkdir java将jdk 安装文件复制到java 目录下:cp /usr/software/ jdk-6u31-linux-i586.bin /usr/java给安装程序赋予权限:chmod +x jdk-6u31-linux-i586.bin执行安装命令:./ jdk-6u31-linux-i586.bin安装成功后,在java 目录下会出现jdk1.6.0_31 的目录。2 、配置环境变量:编辑/etc/profile 文件: vi /etc/profile按I 键进入编辑状态在适当位置配置以下内容:export JAVA_HOME=/usr/java

4、/jdk1.6.0_31export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jarexport PATH=$PATH:$JAVA_HOME/bin完成配置后,按ESC 键,然后输入:wq 保存并退出(:q! 退出不保存)3 、使配置文件生效:source /etc/profile运行 java -version,会有下面的提示:程序“java”已包含在下列软件包中:* gcj-4.4-jre-headless* gcj-4

5、.5-jre-headless* openjdk-6-jre-headless请尝试:sudo apt-get install 执行下面两个命令,安装java到系统中sudo update-alternatives -install /usr/bin/java java /usr/java/jdk1.6.0_31/bin/java 300sudo update-alternatives -install /usr/bin/javac javac /usr/java/jdk1.6.0_31/bin/javac 300设置默认的JDKsudo update-alternatives -config

6、 java4 、再查看java 版本:java version ,显示版本信息则表示安装正确如下图:5 、注意事项:如果安装完之后,jdk 版本不是当前所安装的,则需先卸载之前linux 自带的版本。2.4 MySQL安装配置先按照2.7前几步配置hostname和hosts文件。2.4.1 基本安装配置1、启用自动安装mysql:apt-get install mysql-server2、设置root密码,如12343、进入mysql u root p4、建立数据库pmdb:CREATE DATABASE pmdb;5、将之前导出的pmdb数据文件导入:mysqlpmdb.sql;6、退出m

7、ysql,修改配置文件/etc/mysql/f在mysqld字段中加入下面内容:7、注意!(MYSQL不区分表名大小写)lower_case_table_names=1default-character-set=utf8 (数据库缺省以utf8存储) init_connect=SET NAMES utf8 (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)2.4.2 数据库双机互备1、设置主服务器A。配置my.conf文件,在mysqld中加入如下内容:#master#server-id=1log-bin=mysql-binbinlog-do-db=pmdb将b

8、ind-address 所在行注释掉(访问IP限定,默认是均可以访问)然后重启mysql服务。2、将主数据库新建一个外部访问用户并赋予权限GRANT REPLICATION SLAVE ON *.* TO backup% IDENTIFIED BY 1234;赋予root(或其他用户)远程登录的权限(用于tomcat访问)GRANT ALL ON *.* to backup% IDENTIFIED BY 1234;3、锁定数据库;FLUSH TABLES WITH READ LOCK;4、导出数据库数据;3、查看主数据库状态记录File 和 Position 项目的值,以后要用的。4、设置从服

9、务器B#slave#master-host=192.168.2.48 #主数据库IP(另一台机器的实际IP)master-port=3306master-user=backupmaster-password=1234master-connect-retry=20report-host=192.168.2.47replicate-do-db=pmdbreplicate-rewrite-db=pmdb-pmdb #主数据库名-从数据库名5、把从主数据库服务器备份出来的数据库导入到从服务器中6、设置从服务器参数mysql CHANGE MASTER TO- MASTER_HOST=master_ho

10、st_name, /主服务器的IP地址- MASTER_USER=replication_user_name, /同步数据库的用户- MASTER_PASSWORD=replication_password, /同步数据库的密码- MASTER_LOG_FILE=recorded_log_file_name, /主服务器二进制日志的文件名(前面要求记住的参数)- MASTER_LOG_POS=recorded_log_position; /日志文件的开始位置(前面要求记住的参数)e.启动同步数据库的线程mysql slave start;查看数据库的同步情况吧。如果能够成功同步那就恭喜了!查看

11、主从服务器的状态mysql SHOW PROCESSLISTG /可以查看mysql的进程看看是否有监听的进程。如mysql2上查看到监听的的进程。7、将B设为主服务器,A为从服务器,按上面步骤重新设置。8、测试改变A服务器中数据库pmdb中数据,查看B中的变化;再修改B,查看A中数据的变化。2.5 反向代理服务器nginx的安装配置两台主机均安装以下步骤配置1、安装Nginx所需pcre库(注意:安装前需要已安装gcc-c+包)wgetftp:/ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gztar -zxvf

12、pcre-8.10.tar.gzcd pcre-8.10./configuremakemake install2、安装Nginx自动安装:sudo apt-get install nginx启动服务,在浏览器中输入http:/localhost ,若显示Nginx欢迎界面,则安装成功安装完后直接访问可能会提示403(Ubuntu系统会提示),这时修改 /etc/nginx/sites-enabled/default,将location / root /var/www;index index.html index.htm;改为location / root /var/www/nginx-defa

13、ult;index index.html index.htm; 即可。3、配置编辑配置文件 /etc/nginx/nginx.conf user www www;worker_processes 2;error_log /var/log/nginx/error.log;pid /var/run/nginx.pid;worker_rlimit_nofile 51200;events use epoll; worker_connections 2048; # multi_accept on;http include /etc/nginx/mime.types; default_type appli

14、cation/octet-stream; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #gzip on; gzip_disable MSIE 1-6.(?!.*SV1); include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream localhost server 192.168.2.50:

15、8080 weight=1; server 192.168.2.49:8080 weight=1; ip_hash; #在没有做共享session的情况下ip_hash可以解决session问题 server listen 8888; server_name localhost; location / root html/solr; proxy_pass http:/localhost; include proxy.conf; error_page 500 502 503 504 /50x.html; location = /50x.html root html; 其中proxy.conf文件

16、为:proxy_redirect off;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;proxy_buffer_size 4k

17、;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;4、重启nginx: service nginx restart2.6 Keepalived安装配置1、自动安装:sudo apt-get install keepalived2、按照如下内容编辑配置文件:/etc/keepalived/keepalived.confvrrp_script chk_nginx script sh /root/scripts/monitor_nginx.sh #监控和启动nginx进程脚本interval

18、 2 #检查间隔weight 2vrrp_instance VI_1 state MASTER#从是BACKUPinterface eth0virtual_router_id 51mcast_src_ip 192.168.2.47priority 105 #主比从数值大advert_int 3#smtp_alertauthentication auth_type PASSauth_pass 1234track_script chk_nginxvirtual_ipaddress 192.168.2.513、添加启动和判断nginx正常工作的脚本。在新建文件/root/scripts/monito

19、r_nginx.sh ,内容如下#!/bin/bashB=ps -ef | grep nginx: master process| grep -v grepecho $Bif -z $B then /etc/init.d/nginx start sleep 5 B=ps -ef | grep nginx: master process| grep -v grep if -z $B then killall keepalived fifi4、重启keepalived: service keepalived restart2.7 Heartbeat的安装配置主从机器安装步骤相同。1、让内核支持IP

20、VS首先,我们必须让和两台服务器的内核支持IPVS(IP Virtual Server)。通过IPVS,我们可以在Linux内核级别上实现传输层的负载均衡。执行下面的命令:2、然后,我们还需要修改/etc/modules,添加这些模块,以便系统在重新启动时能够自动加载它们。执行下面的命令:sudo nano /etc/modules在文件末尾,添加下列内容:3、此外,我们还需要启用内核的包转发功能,执行下面的命令:sudo nano /etc/sysctl.conf将net.ipv4.ip_forward所在行的注释去掉。文件保存后,运行命令使之立即生效:sudo sysctl p4、安装he

21、artbeat前,我们要先调节负载均衡节点上的/etc/hosts文件sudo nano /etc/hosts127.0.0.1 localhost192.168.2.47 mysql-lb1 #mysql-lb1为主机名称,在/etc/hostname中配置192.168.2.51 mysql-lb25、启动自动安装:apt-get install heartbeat6、在/etc/heartbeat/目录下新建文件ha.cf,并编辑:logfile /var/log/ha-loglogfacility local0#keepalive 2deadtime 5#warntime 10#ini

22、tdead 10#udpport 694bcast eth0auto_failback offnode mysql-lb1node mysql-lb2respawn hacluster /usr/lib/heartbeat/ipfailapiauth ipfail gid=haclient uid=hacluster7、在/etc/heartbeat/目录下新建文件haresources,并编辑:mysql-lb1 192.168.2.55/24/eth08、在/etc/heartbeat/目录下新建文件haresources,并编辑:auth 3#1 crc#2 sha1 HI!3 md5

23、Hello!9、重启heartbeat,service heartbeat restart10、输入 ip a ,查看绑定的虚拟IP是否绑定,如下图(192.168.2.55)2.8 Apache-tomcat安装配置两台机器配置基本相同1、下载软件压缩包:apache-tomcat-6.0.35.tar.gz2、在/usr/目录下新建文件夹tomcat/,并进入此文件夹3、将压缩包解压:tar zxvf apache-tomcat-6.0.35.tar.gz 4、将mysql驱动文件mysql-connector-java-5.1.13-bin.jar放入lib/文件夹下5、修改配置文件内容

24、:压缩文件夹中/conf/content.xml在标签中添加如下内容: 6、将web服务导出文件pmweb.war放入webapps/文件夹下7、启动服务器 sh bin/start.sh3 CentOS下安装配置的改动CentOS下使用的是手动安装软件,遇到较多问题。3.1 Nginx1、首先安装Nginx所需pcre库安装前确认已安装c和c+编译工具(如gcc、gcc-c+)wget ftp:/ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gztar -zxvf pcre-8.10.tar.gzcd pcre-8

25、.10./configuremakemake install2、安装openssl-develYum install openssl-devel3、安装nginxgroupadd wwwuseradd -g www wwwtar zxvf nginx-0.8.52.tar.gzcd nginx-0.8.52/./configure -user=www -group=www -prefix=/usr/local/nginx -with-http_stub_status_module -with-http_ssl_modulemakemake install4、配置修改配置文件/usr/local

26、/nginx/conf/nginx.conf,添加下面内容到http中:upstream tomcats server 192.168.2.50:8080 weight=1; #tomcat服务器 server 192.168.2.49:8080 weight=1; ip_hash; #在没有做共享session的情况下ip_hash可以解决session问题 server listen 8888; server_name tomcats; location / root html/solr; proxy_pass http:/ tomcats; include proxy.conf; err

27、or_page 500 502 503 504 /50x.html; location = /50x.html root html; 5、配置文件目录下添加proxy.conf文件,内容如下:proxy_redirect off;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128

28、k;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;6、测试配置文件/usr/local/nginx/sbin/nginx t如果出现以下情况/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1:

29、cannot open shared object file: No such file or directory解决办法:sudo ln -s /usr/local/lib/libpcre.so.1 /usr/lib/libpcre.so.1如下图表示配置文件没有错误7、启动nginx/usr/local/nginx/sbin/nginx8、注意防火墙可以导致无法访问3.2 Keepalived1、首先下载所需要的软件wget http:/keepalived.org/software/keepalived-1.1.19.tar.gzwget http:/rpm5.org/files/pop

30、t/popt-1.16.tar.gz2.安装popt安装前确认已安装gcc编译keepalived时需要popt,否则会报以下错误:configure: error: Popt libraries is requiredtar -zxvf popt-1.16.tar.gzcd popt-1.16./configuremakemake install3、安装openssl等keepalived 依赖软件yum install ipvsadmyum install kernel kernel-develyum install openssl-devel4.安装keepalivedtar -zxvf

31、 keepalived-1.1.19.tar.gzcd keepalived-1.1.19./configure -prefix=/usr/local/keepalived -mandir=/usr/local/share/man/ -with-kernel-dir=/usr/src/kernels/2.6.32-220.7.1.el6.i686/makemake install5.配置! Configuration File for keepalivedglobal_defs notification_email 409554967 notification_email_from 40955

32、4967 smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id pmsbackupstatic_ipaddress 192.168.1.4/24 brd + dev eth0 scope globalvrrp_instance VI_1 state MASTER interface eth0 dont_track_primary virtual_router_id 51 priority 100 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipadd

33、ress 192.168.1.244/24 dev eth0 3.3 Heartbeat1、安装cluster glue安装heartbeat之前需要安装glue。yum install autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel make wget(红色标记处也需要安装)groupadd haclientuseradd -g haclient haclustercd /tmpwget http:/hg.linux

34、-ha.org/glue/archive/glue-1.0.9.tar.bz2tar xjf glue-1.0.9.tar.bz2cd Reusable-Cluster-Components-glue-glue-1.0.9./autogen.sh./configure -prefix=/usr/local/heartbeat LIBS=/lib/libuuid.so.1(64位系统上是LIBS=/lib64/libuuid.so.1)make & make install安装过程中会在INTERNET中校验一些xml文件,会耗费大量时间,要耐心等待。如果报错可能是网络引起,多试几次就行(yum

35、 install docbook-dtds docbook-style-xsl安装这两个包之后解决 )。2、安装Resource Agentscd /tmpwget -no-check-certificate tar xzf v3.9.2cd ClusterLabs-resource-agents-b735277/./autogen.sh./configure -prefix=/usr/local/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib LIBS=/lib/libuui

36、d.so.1(64位系统上是LIBS=/lib64/libuuid.so.1)ln -s /usr/local/heartbeat/lib/* /lib/ (64位系统是ln -s /usr/local/heartbeat/lib/* /lib64/ 解决libplumb.so.2等包找不到的问题,./configure的时候会产生一些需要的包)make & make install3、安装Heartbeatcd /tmpwget http:/hg.linux-ha.org/heartbeat-STABLE_3_0/archive/7e3a82377fa8.tar.bz2tar xjf 7e3

37、a82377fa8.tar.bz2cd Heartbeat-3-0-7e3a82377fa8/./bootstrap./configure -prefix=/usr/local/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib LIBS=/lib64/libuuid.so.1vim /usr/local/heartbeat/include/heartbeat/glue_config.h删除最后一行:#define HA_HBCONF_DIR “/usr/local/heartbe

38、at/etc/ha.d/”(解决glue_config.h:99:1: error: HA_HBCONF_DIR redefined错误)make & make installcp doc/ha.cf /usr/local/heartbeat/etc/ha.d/cp doc/haresources /usr/local/heartbeat/etc/ha.d/cp doc/authkeys /usr/local/heartbeat/etc/ha.d/cp heartbeat/init.d/heartbeat /etc/rc.d/init.d/chkconfig -add heartbeatchk

39、config heartbeat onchmod 600 /usr/local/heartbeat/etc/ha.d/authkeyssed -i s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g /usr/local/heartbeat/etc/ha.d/shellfuncssed -i s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/ocf-shellfuncssed -i s#/usr/lib/

40、ocf#/usr/local/heartbeat/usr/lib/ocf#g /usr/local/heartbeat/etc/ha.d/resource.d/hto-mapfuncs(上面三条是用新的路径替换默认路径,将/usr/lib/ocf替换为/usr/local/heartbeat/usr/lib/ocf)4、配置同2.73.4 添加shell脚本1、新建文件/usr/local/heartbeat/myslq_monitor.sh2、添加如下内容:#!/bin/shcat EOF+-+| = Welcome to LinuxTone= |-http:/www.linuxtone.org- |+-By:yangxu-+EOFMYPORT=netstat -na|grep tcp|grep 3306|grep LISTEN|awk -F: + print $5HAPORT=netstat -na|grep udp|grep 694|awk -F: + print $5PING=ping -c 5 192.168

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号