Heartbeat-Gui V2 实现HA LAMP 搭建wordpress博客

环境:

          N F S: 172.16.0.3 (OS CentOS 7)

          node1:172.16.0.5 (OS CentOS 6.7)

          node2:172.16.0.6 (OS CentOS 6.7)

        浮动IP:172.16.0.168

php php-mysql 安装:
# yum install php php-mysql 俩个节点都安装
Heartbeat 安装:
  • 互信操作:俩边都操作:

# ssh-keygen -t rsa
 # ssh-copy-id -i .ssh/id_rsa.pub root@x.x.x.x
  • 修改主机名:

# cat /etc/sysconfig/network	//node2   NETWORKING=yes   HOSTNAME=node2.sunshine.com
   
 # cat /etc/sysconfig/network  //node1   NETWORKING=yes   HOSTNAME=node1.sunshine.com
  • 本地/etc/hosts解析:

#  cat /etc/hosts | tail -2
    172.16.0.5 node2.sunshine.com node2	172.16.0.6 node1.sunshine.com node1 #  cat /etc/hosts | tail -2
	172.16.0.5 node2.sunshine.com node2	172.16.0.6 node1.sunshine.com node1
  • 同步时间:两边都操作,这里测试就不做crontab 不同时间了:

# service ntpdate  start
 
 # [root@HA2 ~]# date ;ssh node2 'date'
	Wed Oct 26 15:28:32 CST 2016
	Wed Oct 26 15:28:32 CST 2016
  • 重启:

# shutdown -r now
  • 安装epel源:

# rpm -Uivh  ftp://ftp.pbone.net/mirror/dl.iuscommunity.org/pub/ius/archive/Redhat/6/i386/epel-release-6-5.noarch.rpm
  • 安装依赖:

# yum install net-snmp-libs libnet PyXML pygtk2-libglade -y
# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm \  
> heartbeat-stonith-2.1.4-12.el6.x86_64.rpm   \
> heartbeat-pils-2.1.4-12.el6.x86_64.rpm \
> heartbeat-gui-2.1.4-12.el6.x86_64.rpm
  • 如报以下错误:安装libtool-ltdl 既可以:

error: Failed dependencies:
	libltdl.so.7()(64bit) is needed by heartbeat-2.1.4-12.el6.x86_64
	libltdl.so.7()(64bit) is needed by heartbeat-stonith-2.1.4-12.el6.x86_64
	libltdl.so.7()(64bit) is needed by heartbeat-pils-2.1.4-12.el6.x86_64# yum install libtool-ltdl -y     //安装libtool-ltdl

-安装支持xshell Xmanger包,否则网络上很方法也是不可用的:

# yum install xorg-x11-xauth   //如果不安装使用hb_gui是无法调用x11
  • ha.cf配置:

# grep -v "#" ha.cf 
	logfile	/var/log/heartbeat-log
	mcast eth0 225.10.210.1 694 1 0
	auto_failback on
	node	node1.sunshine.com
	node	node2.sunshine.com
	crm	on
	ping 172.16.0.1
 # grep -v "#" authkeys 
	auth 2
	2 sha1 Dn880wJZxfsUpioJWy7FgQ 
 # passwd hacluster			//在哪里启动,就在哪里设置hacluster密码
 
 # hb_gui &
 compression	bz2
compression_threshold 2
  • authkeys配置

[root@node2 ha.d]# cat authkeys | tail -4 | grep -v "#"auth 22 sha1 Dn880wJZxfsUpioJWy7FgQ
  • 在node{1|2}清除iptables并关闭selinux

# iptables -F# setenforce 0# cat /etc/selinux/config | tail -3 | head -1
	SELINUXTYPE=targeted
  • httpd 安装:

#  yum install httpd -y								//node{1|2}
 
 # echo "<h1>node1</h1>" > /var/www/html/index.html		//node1执行
 
 # echo "<h1>node2</h1>" > /var/www/html/index.html		//node2执行
 
 # curl node{1,2}			//访问测试
	<h1>node1</h1>
	<h1>node2</h1>
 # service httpd stop ;ssh node2 'service httpd stop'
	Stopping httpd: [  OK  ]
	Stopping httpd: [  OK  ]

 # chkconfig httpd off ;ssh node2 'chkconfig httpd off'  //关闭httpd自动启动
 
 # chkconfig httpd --list ;ssh node2 'chkconfig httpd --list'//查看是否关闭
	httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
	httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
  • NFS Server搭建:这是在NFS服务器上执行

# groupadd -g 306 mysql
 # useradd -g 306 -u 306 -M -r mysql
 # mkdir /data/mydata
 # chown -R mysql.mysql /data/mydata
 # cat /etc/exports		//编辑需要导出的文件
	/data/mydata 172.16.0.0/24(rw,no_root_squash)	//no_root_squash表示远端主机root用户不转换nobody用户

 # systemctl start nfs.service	//启动nfs服务
 
 # cat /etc/rc.local | tail -1	//加入开机启动
	/usr/bin/systemctl start nfs.service
PerconaMySQL 安装:
# mount -t nfs 172.16.0.3:/data/mydata /mydata	//挂载nfs文件至本地
    # yum install openssl-devel -yes                //安装openssl-devel包,至此Preconamysql的ssl
 # cd /usr/lib64                                 //进入lib64# ln -s libssl.so.1.0.1e libssl.so.6            //软连接,因为Preconamysql要依赖该库,但是我们系统上的是libssl.so.1.0.1e
 # ln -sv libcrypto.so libcrypto.so.6            //软连接,因为Preconamysql要依赖该库,但是我们系统上的是libcrypto.so
 # tar xf /usr/local/src/Percona-Server-5.6.27-rel76.0-Linux.x86_64.ssl098e.tar.gz -C /usr/local   //解压缩至/usr/local,个人习惯
 # cd /usr/local                                 //进入local
 # ln -sv Percona-Server-5.6.27-rel76.0-Linux.x86_64.ssl098e.tar.gz mysql    //不要问为什么,大家都这么做
 # groupadd -g 306 mysql                         //新建组,指定GID306
 # useradd -g 306 -u 306 -r -M mysql             //新建用户,指定GID,UID为306
 # mkdir /mydata                                 //创建NFS挂载点
 # cd /usr/local/mysql                           //进入程序包
 # chown -R mysql.mysql ./*                      //-R递归
 # scripts/mysql_install_db --datadir=/mydata/ --user=mysql      //初始化
 # cp -p  support-files/mysql.server /etc/init.d/mysqld          //拷贝启动脚本
 # vim /etc/my.cnf                             //mysql的配置文件,里面的参数我调的很小,是因为仅做博客测试使用
 # The MySQL server[mysqld]
 port                    = 3306
 user                    = mysql
 datadir                 = /mydata
 tmpdir                  = /dev/shm
 slave-load-tmpdir       = /tmp
 socket                  = /mydata/mysql.sock
 key_buffer_size         = 32M
 max_allowed_packet      = 8M # table_cache             = 30s
 join_buffer_size        = 16M
 sort_buffer_size        = 16M read_buffer_size        = 16M read_rnd_buffer_size    = 16M
 myisam_sort_buffer_size = 32M
 query_cache_size        = 16M
 query_cache_type        = 1
 max_tmp_tables          = 64
 tmp_table_size          = 64M
 max_heap_table_size     = 64M
 thread_cache_size       = 32
 thread_concurrency      = 16
 max_connections         = 1986
 max_user_connections    = 0
 max_connect_errors      = 99999999
 wait_timeout            = 28800
 interactive_timeout     = 7200
 slow_query_log          = 1
 long_query_time         = 3
 log_slow_slave_statements=1
 #slow_query_log_timestamp_always =1
 slow_query_log_file     = /mydata/slow.log
 back_log                = 200
 myisam_repair_threads   = 1
 myisam-recover          = DEFAULT
 expire_logs_days        = 20
 pid-file                = /mydata/mysql.pid
 binlog_format           = mixed


 init-connect='SET NAMES utf8'
 character-set-server=utf8
 skip-character-set-client-handshake bind-address=0.0.0.0

 skip-external-locking #skip-symlink
 log-slave-updates
 skip-name-resolve # read_only
 skip-slave-start

 server-id               = 3306 
 log-bin                 = 3306-bin
 relay-log               = 3306-relay-bin log-error=error.log #-------------    innodb  --------------
 innodb_file_format             = Barracuda
 default-storage-engine          = InnoDB
 innodb_buffer_pool_size         = 64M 
 innodb_additional_mem_pool_size = 32M
 innodb_data_file_path           = ibdata1:100M:autoextend # innodb_autoextend_increment     = 100M
 innodb_flush_log_at_trx_commit  = 0
 innodb_log_buffer_size          = 8M
 innodb_log_file_size            = 32M
 innodb_log_files_in_group       = 3
 innodb_max_dirty_pages_pct      = 90
 innodb_lock_wait_timeout        = 20
 innodb_file_per_table           = 1
 innodb_flush_method = O_DIRECT
 innodb_support_xa = 0
 innodb_io_capacity = 500
 # innodb_buffer_pool_instances    = 4

 [client]
 user                    = mysql
 port                    = 3306
 socket                  = /mydata/mysql.sock

 [myisamchk]
 key_buffer = 32
 sort_buffer_size = 32
 read_buffer = 32M
 write_buffer = 32M
# service mysqld start		//测试是否能够启动
		# service mysqld stop		//然后停止服务
 # chkconfig mysqld off		//关闭自动启动  ps:node{1|2}都是一样的操作
安装博客
  • 下载程序包

# cd /usr/local/src 
 
 # wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz
  • 解压并设置 777 权限,这边为了方便

# tar xf wordpress-4.5.3-zh_CN.tar.gz -C /var/www/html/
 
 # cd /var/www/html/
 
 # chown -R 777  wordpress
  • 手动启动mysql

# service mysqd start
  • 进入mysql创建wordpress库,提供给wordpress初始化呢使用

# mysql -uroot -p		//回车输入自己的密码,没设定密码直接回车
 
 # CREATE DATABASE wordpess;
  • 授权wordpress库权限,生产机建议不要使用通配符

# GRANT ALL ON wordpress.* TO wordpress@‘172.16.%.%' INDENTIFIED BY 'redhat';
 
 # FLUSH PRIVILEGES;
博客初始化:先手动启动mysql,初始化完毕后再手动关闭mysql,这里太简单 不上图了

1、填上mysql地址:也就是我们的浮动IP:172.16.0.168

2、填上用户:在数据库创建的:wordpress

3、填上密码:redhat

4、其它根据自己定义填写即可。

Hearbeat-Gui资源配置:
# hb_gui &

1、Resources新建组资源,并命名,注意Parameters里面的值

blob.png

blob.png

blob.png

blob.png

2、访问测试

blob.png

3、节点切换并访问测

blob.png

原创文章,作者:N24-SunshineBoy,如若转载,请注明出处:http://www.178linux.com/54997

(0)
N24-SunshineBoyN24-SunshineBoy
上一篇 2016-10-27
下一篇 2016-10-27

相关推荐

  • LVS负载均衡实战演练

    LVS负载均衡实战之lvs-nat模型 1.准备好机器,配置好时间同步,配置号网络,主机名 172.16.251.91 client [桥接] [网关为172.16.251.90] #lvs负载均衡两块网卡 172.16.251.90  lvs [网卡1] [桥接] 192.168.42.150  lvs [网卡2] [VMnet8] 192.168.42.…

    Linux干货 2017-06-22
  • 使用NFS和Samba文件服务搭建博客站点

    使用NFS和Samba文件服务搭建博客站点 实验目的:分别使用NFS和Smaba文件服务实现wordpress 实验要求: (1) server导出/data/application/web,在目录中提供wordpress; (2) client挂载nfs server导出的文件系统至/var/www/html;(3) 客户端1(lamp),部署w…

    2017-04-30
  • linux权限管理

          今天来讲讲linux里面权限的问题,在linux系统中,有这么几类权限,r,w,x,s,t这么几类权限,系统中为什么要有权限这个东西呢,linux一切皆文件,有些文件不想让某些人看到,那么这个时候就需要设置文件的访问的权限了,文件的拥有者一般都是有权力修改删除文件的,但拥有者以外的人未必就能删除修…

    Linux干货 2016-08-04
  • LAMP组合的编译安装(apache2.4+mariadb5.5+php5.6)

    安装次序 httpd, MariaDB, php 安装apache2.4 [root@root ~]# yum groupinstall "Development Tools" "Server Platform Develoment "&n…

    Linux干货 2016-06-29
  • 集群-ipvsadm和NAT实验(3)

    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。 调度算法: 1、静态方法: rr:轮询,即依照次序从所有RS中进行挑选 wrr:加权轮询,按照权重在RS中进行轮询 sh:source hashing,源地址哈希,即对来自相同客户端的请求发送至同一RS,这样会破坏负载均衡效果。…

    Linux干货 2015-12-15
  • Redis基于Sentinel哨兵高可用方案

    下载最新redis版本,当前最新版本为  2.8.19  2014-12-30 安装redis 首页地址:http://redis.io/ 最新稳定版下载地址: http://download.redis.io/releases/redis-2.8.19.tar.gz # tar -xvf redis-2.8.19.tar.gz # cd…

    2015-03-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:41

    如果能加入一些架构展示,效果会更好点,加油!