LoginSignup
6
5

More than 5 years have passed since last update.

2台のサーバのホームページ領域をリアルタイム同期

Posted at

WordPressを冗長化するために
CentOS6.6にrsync + lsyncでApacheのDOCUMENT ROOTを冗長化した時の設定

Slave側

rsyncはすでにインストールされていたのだけど
CentOSではxinetd経由で起動するのでxinetd をインストール

# yum -y install xinetd

rsyncd.confを設定

# vi /etc/rsyncd.conf
--------------------------
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

#任意の名前、Maseter側で使う
[wordpress]
#同期したいフォルダ
path = /var/www/html
#Master側のIP
hosts allow = 192.168.10.1
hosts deny = *
list = true
uid = root
gid = root
read only = false
--------------------------

xinetdスタート

# /etc/rc.d/init.d/xinetd start

自動起動にセット

# chkconfig xinetd on

Master側

lsyncをインストールするのにyumリポジトリにrpmforgeを追加

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

インストール

# yum install rsync lsyncd --enablerepo=rpmforge

lsyncd.conf設定

# vi /etc/lsyncd.conf
--------------------------
settings = {
        logfile    = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/tmp/lsyncd.stat",
        statusInterval = 1,
}

sync{
        default.rsync,
        source = "/var/www/html/",
        target = "192.168.10.2::wordpress",
        excludeFrom = "/etc/rsync_exclude.lst",
}
--------------------------

target = "192.168.10.2::homepage"
Slave側のIPと[ ] に書いた名称

excludeFromは除外したいファイルを設定する。

除外リストrsync_exclude.lstを作成

# vi /etc/rsync_exclude.lst
--------------------------
/wordpress/wp-config.php
--------------------------

相対パスで、ファイル名またはフォルダ名

lsyncdスタート

# /etc/rc.d/init.d/lsyncd start

自動起動設定

# chkconfig lsyncd on

tailコマンドでログを見ながらFTPでMaster側にファイルをアップロードしてみましょう。

初回起動時はSlave側に一気にファイルを送る場合があるのでサーバ負荷に注意しましょう。先にSlave側もFTPでファイルをアップロードしておいたほうがいいかも。

この設定のままだとSlave側はrootユーザーでファイルがアップロードされてしまうのでrsyncd.confのuid/gidをapacheユーザにするほうがいいかも。
ただしapacheユーザーでSlave側にSSH接続できないとダメ?(未確認)

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5