利用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.www58058.com/77687

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

相關推薦

  • 走進Linux(二)

    Linux基礎知識 1、文件管理類命令 mkdir:創建空目錄 格式 mkdir [選項](可跟多個選項) 要創建的目錄名 選項 -p:遞歸創建多個目錄                             &nbsp…

    Linux干貨 2016-09-26
  • 建立yum源及yum命令的使用

    一、什么是YUM     YUM的全稱為 Yellowdog Update Modifier,其主要目的是為了解決RPM包安裝時的依賴關系的問題。YUM只是一個用于軟件安裝的前端工具,其主要的服務對象還是RPM軟件包。     YUM采用C/S架構,即客戶端與服務器的?!?/p>

    Linux干貨 2015-05-11
  • N28-第二周博客作業

    常用通配符
    *:表示任意長度的任意字符;

    ?:表示任意的單個字符;

    []:表示在指定范圍內的單個字符:[a-z];

    [^]:脫字符,是取反的意思,即在指定范圍以外的任意字符,如 [^0-9]表示除數字以外的一切字符。

    [:digit:] 表示所有的數字,相當于0-9

    [:lower:] 表示所有的小寫字母

    [:upper:] 表示所有的大寫字母

    [:alpha:] 表示所有的字母,

    [:alnum:] 相當于[0-9a-z]

    [:space:] 相當于空白字符

    [:punct:] 表示所有的標點符號

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

    2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。

    3、請使用命令行展開功能來完成以下練習:

    (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

    (2)、創建/tmp/mylinux目錄下的:
    mylinux/
    ├── bin
    ├── boot
    │?? └── grub
    ├── dev
    ├── etc
    │?? ├── rc.d
    │?? │?? └── init.d
    │?? └── sysconfig
    │?? └── network-scripts
    ├── lib
    │?? └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │?? └── local
    │?? ├── bin
    │?? └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

    5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

    6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。

    7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

    8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。

    9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

    10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

    11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

    12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干貨 2017-12-11
  • 22期第十四周課堂練習

    系統的INPUT和OUTPUT默認策略為DROP; [root@localhost ~]# iptables -P INPUT DROP [root@localhost ~]# iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周…

    Linux干貨 2017-03-15
  • LVM 邏輯卷管理器-縮小LV容量及快照區的建立

    LVM 邏輯卷管理器-縮小LV容量 將/dev/sdb2分區抽離出來,縮小LV容量 (1)首先查看/dev/sdb2的容量大小 [root@centos6 ~]# df -h /mnt/lvm/ Filesystem        &nbs…

    Linux干貨 2016-09-19
  • Python內置數據結構——集合set

    集合 定義 set翻譯為集合 collection翻譯為集合類型,是一個較大的概念 set是一個可變的、無序的、不重復的元素組成的集合 set的元素要求必須可以hash,目前已學的不可hash的類型只有list、set 元素不可以索引 set可以迭代 set的初始化 set_1 =set() #表示定義一個空集合set_1 set_1 =set(iterab…

    Linux干貨 2017-10-03
欧美性久久久久