项目架构图
环境准备
一、web01客户端配置:
1.安装web服务httpd和PHP
[root@web01 ~]# yum install -y httpd php
2.创建www用户
[root@web01 ~]# groupadd www -g 666 [root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
3.修改httpd配置文件参数user和group改为www
[root@web01 /var/www/html]# vim /etc/httpd/conf/httpd.conf User www Group www [root@web01 /var/www/html]# systemctl restart httpd
4.部署web项目
[root@web01 ~]# cd /var/www/html/ [root@web01 /var/www/html]# wget https://www.lixian.fun/data/kaoshi.zip [root@web01 /var/www/html]# unzip kaoshi.zip [root@web01 /var/www/html]# chown -R www:www /var/www/html/ [root@web01 /var/www/html]# systemctl restart httpd
二、NFS服务器配置:
1.安装nfs和rpcbind
[root@nfs ~]# yum install -y nfs-utils rpcbind
2.创建www用户
[root@nfs ~]# groupadd www -g 666 [root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
3.创建data目录
[root@nfs ~]# mkdir /data [root@nfs ~]# chown -R www:www /data/
4.编写nfs配置文件
[root@nfs ~]# cat /etc/exports /data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
5.检验nfs配置文件是否成功
[root@nfs ~]# systemctl start nfs-server [root@nfs ~]# cat /var/lib/nfs/etab /data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)
三、web01客户端挂载:
1.查看NFS服务器有哪些可挂载点
[root@web01 /var/www/html]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24
2.挂载目录并检查
[root@web01 /var/www/html]# mount -t nfs 172.16.1.31:/data /var/www/html/upload [root@web01 /var/www/html]# df -h 172.16.1.31:/data 18G 1.5G 17G 9% /var/www/html/upload
四、backup服务器配置:
1.安装rsync服务
[root@backup ~]# yum install -y rsync
2.创建www用户
[root@backup ~]# groupadd www -g 666 [root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
3.创建backup目录
[root@backup ~]# mkdir /backup [root@backup ~]# chown -R www:www /backup/
4.编写rsync虚拟用户密码文件
[root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd [root@backup ~]# chmod 600 /etc/rsync.passwd
5.编写rsync配置文件
[root@backup ~]# cat /etc/rsyncd.conf uid = www gid = www port = 873 fake super = yes use chroot = no max connections = 200 timeout = 600 ignore errors read only = false list = true auth users = rsync_backup secrets file = /etc/rsync.passwd log file = /var/log/rsyncd.log [backup] comment = welcome to oldboyedu backup! path = /backup
6.启动rsync服务
[root@backup ~]# systemctl restart rsyncd
五、NFS服务器安装配置sersync:
1.安装rsync和inotify
[root@nfs ~]# yum install rsync inotify-tools
2.下载sersync
[root@nfs ~]# wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
3.对sersync压缩包解压、移动、重命名操作
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz [root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync
4.修改sersync的配置文件
[root@nfs ~]# vim /usr/local/sersync/confxml.xml #修改confxml.xml配置文件以下几个参数 <inotify> <!--把inotify所有参数的值改为true--> <delete start="true"/> <createFolder start="true"/> <createFile start="true"/> <closeWrite start="true"/> <moveFrom start="true"/> <moveTo start="true"/> <attrib start="true"/> <modify start="true"/> </inotify> <sersync> <!--watch的值为所要检测的目录,也就是nfs服务器上的/data目录--> <localpath watch="/data"> <!--ip地址为backup服务器ip,name为backup服务器rsync的模块名--> <remote ip="172.16.1.41" name="backup"/> </localpath> <rsync> <!--params参数为-az--> <commonParams params="-az"/> <!--true开启,users为backup服务器rsync的虚拟用户,passwordfile为虚拟用户密码文件--> <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/> <userDefinedPort start="false" port="874"/><!-- port=874 --> <timeout start="false" time="100"/><!-- timeout=100 --> <ssh start="false"/> </rsync>
5.编写rsync密码文件
[root@nfs ~]# echo "123456" >/etc/rsync.passwd [root@nfs ~]# chmod 600 /etc/rsync.passwd
6.启动sersync
[root@nfs ~]# /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml
六、验证
1.浏览器访问10.0.0.7 上传文件
2.查看web01客户端/var/www/html/upload目录有没有上传的文件,如果有,则成功。
3.查看nfs服务器/data目录有没有上传的文件,如果有,则成功。
4.查看backup服务器/backup目录有没有上传的文件,如果有,则成功。