NFS共享MySQL使用DNS轮询实现Web负载均衡

1 篇文章 0 订阅
1 篇文章 0 订阅

前言:

今天学习了NFS,遂结合前面学习的LAMP+Bind做一个实验,实现两台Web服务器采用同一个MySQL数据库和相同的网页文件,对LAMP和Bind不了解的可以去查看我以前写的博客: AnyISalIn的文章

实验拓扑图

blob.pngAlt text

实验环境

主机名 IP地址 实现
storage.anyisalin.com 192.168.2.5 NFS
ns.anyisalin.com 192.168.2.2 dns,MySQL
www.anyisalin.com 192.168.2.3 web
www.anyisalin.com 192.168.2.4 web
本文所有主机皆关闭SElinux和IPtables

实验步骤

搭建NFS

以下操作在storage.anyisalin.com中执行

[root@storage ~]# yum install nfs-utils | tail -n 10 #安装nfs-utils 这里已经安装过了
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.pubyun.com
* extras: mirrors.skyshe.cn
* updates: mirrors.pubyun.com
Package 1:nfs-utils-1.2.3-64.el6.x86_64 already installed and latest version
Nothing to do
创建文件夹并导出

[root@storage ~]# mkdir /var/mydata
[root@storage ~]# mkdir /var/webroot
[root@storage var]# cd /var/webroot/
[root@storage webroot]# unzip wordpress-4.4.1-zh_CN.zip &> /dev/null
[root@storage webroot]# ls
wordpress wordpress-4.4.1-zh_CN.zip
[root@storage webroot]# chmod 777 wordpress -R
[root@storage ~]# vim /etc/exports
/var/mydata 192.168.2.2(rw,no_root_squash)
/var/webroot 192.168.2.3(rw,no_root_squash) 192.168.2.4(rw,no_root_squash)
[root@storage ~]# service rpcbind start && service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@storage ~]# showmount -e localhost #查看当前导出的目录
Export list for localhost:
/var/webroot 192.168.2.4,192.168.2.3
/var/mydata 192.168.2.2

搭建dns,MySQL环境

以下操作在ns.anyisalin.com中执行

DNS配置

[root@localhost ~]# yum install bind mysql-server -y | tail -n 10 #信息过长遂使用tail限制
perl-DBD-MySQL.x86_64 0:4.013-3.el6
perl-DBI.x86_64 0:1.609-4.el6
perl-Module-Pluggable.x86_64 1:3.90-141.el6_7.1
perl-Pod-Escapes.x86_64 1:1.04-141.el6_7.1
perl-Pod-Simple.x86_64 1:3.13-141.el6_7.1
perl-libs.x86_64 4:5.10.1-141.el6_7.1
perl-version.x86_64 3:0.77-141.el6_7.1
portreserve.x86_64 0:0.0.4-9.el6

Complete!
[root@localhost ~]#
在/etc/named.rfc1912.zones文件中添加以下几行
zone “anyisalin.com” IN {
type master;
file “anyisalin.com.zone”;
};

配置区域解析库文件为如下

vim /var/named/anyisalin.com.zone

TTL600 ORIGIN anyisalin.com.
@ IN SOA ns.anyisalin.com amdin.anyisalin.com (
20160328
1D
5M
7D
1D
)

    IN   NS  ns

ns IN A 192.168.2.2
www IN A 192.168.2.3
www IN A 192.168.2.4
storage IN A 192.168.2.5
测试效果如下,以达到DNS实现轮询若水GIF截图_2016年3月28日21点41分17秒.gif

MySQL配置

这里MySQL数据库文件通过NFS保存在远程主机

[root@localhost ~]# mkdir /mydata
[root@localhost ~]# mount -t nfs 192.168.2.5:/var/mydata /mydata
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug kernels mariadb-5.5.32-linux-x86_64.tar.gz
[root@localhost src]# tar xf mariadb-5.5.32-linux-x86_64.tar.gz
[root@localhost src]# cd mariadb-5.5.32-linux-x86_64
[root@localhost mariadb-5.5.32-linux-x86_64]# ls
bin COPYING COPYING.LESSER data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
[root@localhost mariadb-5.5.32-linux-x86_64]# groupadd -r -g 3306 mysql
groupadd: group ‘mysql’ already exists
[root@localhost mariadb-5.5.32-linux-x86_64]# useradd -r -g mysql -s /sbin/nologin mysql
useradd: user ‘mysql’ already exists
[root@localhost mariadb-5.5.32-linux-x86_64]# ./scripts/mysql_install_db –datadir=/mydata –user=mysql #初始化数据库
Installing MariaDB/MySQL system tables in ‘/mydata’ …
OK
Filling help tables…
OK

内容省略

[root@localhost mariadb-5.5.32-linux-x86_64]# ls /mydata/ #查看生成的数据库
aria_log.00000001 aria_log_control mysql performance_schema test

[root@localhost src]# ln -sv /usr/src/mariadb-5.5.32-linux-x86_64 /usr/local/mysql
/usr/local/mysql' ->/usr/src/mariadb-5.5.32-linux-x86_64’
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# vim /etc/my.cnf #添加以下三行
datadir = /mydata
skip_name_resolve = on
innodb_file_per_table = on
[root@localhost mysql]# export PATH=/usr/local/mysql/bin/:$PATH

[root@localhost mysql]# service mysqld start #测试MySQL是否能正常启动
Starting MySQL… SUCCESS!
[root@localhost mysql]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.32-MariaDB-log MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> GRANT ALL ON wp.* TO ‘wpuser’@’%’ IDENTIFIED BY ‘passwd’;
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE DATABASE wp;
Query OK, 1 row affected (0.02 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

WEB配置

第一台主机安装

以下操作在www.anyisalin.com(192.168.2.3)中执行

[root@localhost ~]# yum install httpd php php-mysql -y | tail -n 10
apr-util.x86_64 0:1.3.9-3.el6_0.1
apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1
httpd-tools.x86_64 0:2.2.15-45.el6.centos
libedit.x86_64 0:2.11-4.20080712cvs.1.el6
mailcap.noarch 0:2.1.31-2.el6
php-cli.x86_64 0:5.3.3-40.el6_6
php-common.x86_64 0:5.3.3-40.el6_6
php-pdo.x86_64 0:5.3.3-40.el6_6

Complete!
[root@localhost ~]# vi /etc/httpd/conf.d/virt.conf #编辑配置文件

NameVirtualHost 192.168.2.3:80
NameVirtualHost 192.168.2.3:80

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值