利用DNS和SAMBA实现web站点的简单高可用

本文通过DNS绑定两台主机的IP地址到一个URL,然后后台samba服务器提供站点文件,此处以wordpress为例。这样当有一台服务器httpd服务出现故障的时候不至于造成站点无法访问,而且站点数据和mysql数据库数据位于后台samba服务器,另一台服务器直接从samba服务器获取站点文件和数据库数据,不会造成数据的不一致。

一、实验环境:

  1. 三台主机ip:

    1. 192.168.11.128:DNS,SAMBA

    2. 192.168.11.137:httpd,mysql

    3. 192.168.11.138:httpd

  2. 实验拓扑图如下:

    利用DNS和SAMBA实现web站点的简单高可用

    二、具体实验步骤:

    1. 首先三台服务器分别安装不同的服务:

       yum install -y bind samba samba-common #第一台主机安装bind提供dns,安装samba提供samba服务# yum install -y httpd mariadb-server  #第二台主机提供mysql和httpd服务# yum install -y httpd     #第三台主机提供httpd服务#
    2. 配置SAMBA

      1. 首先编辑/etc/samba/smb.conf修改SAMBA的配置文件,在配置文件末尾加入如下信息,配置需要共享的路径信息:

         [wordpress]    #名称# comment=wordpress  #注释信息## path=/data/www/html  #共享路径## public=no    #禁止来宾账户访问# vaild users=apache  #可以看到此共享的用户# write list=apache  #允许写操作的用户#  [mysql] comment=mysql path=/data/mysql public=no vaild users=mysql write list=mysql
      2. 通过smbpasswd命令添加指定的apache和mysql账户为samba账户

         smbpasswd -a mysql  smbpasswd -a apache

        注意:

        1. samba默认会把系统存在的用户添加为samba授权用户,所以这两个用户必须存在。

        2. 这两个用户的uid必须和第二台主机和第三台主机上的用户uid一致,因为samba默认会映射远程用户uid一直的用户为本地指定uid用户。如果uid不一致,则不能访问samba目录;

      3. 创建/data/mysql和/data/www/html目录,并分别修改属主属组,下载wordpress,解压并放入/data/www/html目录下,启动samba服务:

         mkdir /data/{www/html,mysql} chown mysql,mysql -R /data/mysql chown apache,apache -R /www/html service smb start   #smb是用来做文件共享的# service nmb start   #nmb服务用来解析netbios name#
    3. 配置httpd和mysql

      1. 第二台主机和第三台主机挂载samba共享文件:

         mount.cifs //192.168.11.128/wordpress /var/www/html -o user=apache,password=1234567a mount.cifs //192.168.11.128/mysql /mydata -o user=mysql,password=1234567a
      2. 第二台主机编辑/etc/my.cnf.d/server.cnf配置mysql的数据目录,在[mysqld]下添加如下行:

         datadir=/mydata
      3. 第二台主机启动httpd和mysql服务,第三台主机启动httpd服务:

         systemctl start httpd systemctl start mariadb
    4. 在第一台主机配置DNS:

      1. 修改/etc/named.conf和/etc/named.rfc1912.zones文件,以前博客有此文件的配置方法,此处不再赘述;

      2. 在/var/named/下创建相应的zone文件,配置如下:

        $TTL 3600 @       IN      SOA     dns     admin.wordpress.wzh.com (         2017060601         10H         10M         10D         10D )         IN      NS      dns dns     IN      A       192.168.11.128 www     IN      A       192.168.11.138 #绑定www.wordpress.wzh到192.168.11.138和137两台主机# www     IN      A       192.168.11.137
      3. 启动dns服务,然后通过ab对域名进行压测,同时关闭一台服务器的httpd服务,会发现压测并没有报错,说明站点还是正常访问的状态,则表示双站点配置成功。

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/77687

(0)
王子豪王子豪
上一篇 2017-06-06 20:15
下一篇 2017-06-06 20:52

相关推荐

  • python装饰器1

    简单介绍装饰器(注意格式)

    Linux干货 2017-10-22
  • Bash学习基础知识一“命令”

    Bash 学习基础知识 目录 一、Shell是个啥? 二、BASH的命令     2.1 命令的语法格式     2.2 什么是命令     2.4 命令的类型     …

    Linux干货 2015-04-03
  • Redis 3.0.0正式版发布,全新的分布式高可用数据库

    Redis 3.0.0 正式版终于到来了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多数据库)的分布式、容错的实现(最多支持1000结点)。   Salvatore 'antirez' Sanfilippo在Google Groups里表示,这是Redis的重要时刻。“我相信今天的Redis 3.0…

    Linux干货 2015-04-03
  • 重定向与管道

         本次内容    1.三种I/O设备    2.把I/O从定向入文件    3.命令tr    4.使用管道链接命令    5.tee   我们都知道程序是由:指令+数据    &n…

    2017-07-23
  • 实现软RAID0的方法

    实验利用三个分区分别为10G组成一个RAID0 分区时要注意ID的转换 创建RAID的设备名称为md0 通过mdadm -D /dev/md0可以查看md0的信息 创建配置文件: mdadm -Ds > /etc/mdadm.conf(为了系统启动时自动加载) 给RIAD0创建文件系统: 创建挂载目录mkdir /mnt/raid0 挂载: 同步: m…

    2017-12-11