利用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

相关推荐

  • 图解Linux终端类型

    个人浅见 欢迎指正

    Linux干货 2016-10-16
  • 小巧精悍——常见文本处理工具用法及技巧总结

    小巧精悍——常见文本处理工具用法及技巧总结 Linux最重要的哲学思想就是:一切皆文件。可见文件及文件操作在Linux当中是多么的重要。在Linux系统中我们也会经常用到各种文本文件处理的操作,熟练使用这些小巧精悍的文本处理工具,在关键时刻往往展现非凡的神奇功效。常见文本处理小工具:cat、hexdump、nl、less、head、tail、cut、tr、r…

    Linux干货 2016-11-05
  • shell脚本编程基础

    一.编程基础              程序:指令+数据              程序编程风格:  &n…

    Linux干货 2016-08-12
  • 用户权限过滤练习(w4)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@keyou ~]# cp -r /etc/skel/ /home/tuser1 | chmod -R g-rwx,o-rw…

    系统运维 2016-11-20
  • N26 第六周作业

    总结vim编辑器的使用 Vim 模式    Vim 有六种基本模式    Normal mode                 Visual mode&nbs…

    Linux干货 2017-02-01
  • shell脚本变成之数组、字符串处理及其它功能补充

    数组定义:                  能够存储多个元素的内存空间,每个元素在数组中具有特定的索引编号,我们可以通过变量名和索引编号来查看数组中的某一元素。    &nbsp…

    Linux干货 2016-08-24