day13.4

day13.4

web集群数据拆分及共享存储、实时同步

环境准备

主机名 wanip lanip 角色 安装应用
web01 10.0.0.7 172.16.1.7 web网站,共享存储客户端 nginx、PHP、nfs
web02 10.0.0.8 172.16.1.8 web网站,共享存储客户端 nginx、PHP、nfs
db01 10.0.0.51 172.16.1.51 数据库 MySQL(mariadb)
backup 10.0.0.41 172.16.1.41 实时同步 sersync
nfs 10.0.0.31 172.16.1.31 共享存储服务端 nfs sersync

lnmp环境搭建

# 1.关闭防火墙
[root@web01 ~]# systemctl stop firewalld
[root@web01 ~]# systemctl disable firewalld

# 2.关闭selinux
[root@web01 ~]# setenforce 0

# 3.添加yum源
1.nginx源
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

2.PHP源
[root@web01 ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

# 4.安装PHP
[root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

# 5.安装nginx
[root@web01 ~]# yum install -y nginx

# 6.创建www用户
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web01 ~]# id www
uid=666(www) gid=666(www) groups=666(www)

# 7.统一用户
1.修改nginx配置文件
[root@web01 ~]# vim /etc/nginx/nginx.conf 
user  www;

2.修改PHP用户
[root@web01 ~]# vim /etc/php-fpm.d/www.conf 
user = www
group = www

## 启动php服务时,创建php.sock安全套接字文件,该文件的属主和属组
listen = /opt/php.sock
listen.owner = www
listen.group = www
### 完整php配置文件
[www]
user = www
group = www
;listen = 0.0.0.0:9000
listen = /opt/php.sock
listen.owner = www
listen.group = www
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache

# 8.配置nginx连接PHP文件
[root@web02 ~]# vim /etc/nginx/conf.d/blog.wc.com.conf 

server{
        listen 80;
        server_name blog.wc.com;
        root /wc;
        index index.php index.html;
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/opt/php.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}
}

# 检查语法
[root@web01 ~]# nginx -t

# 9.启动nginx和PHP并加入开机自启
[root@web01 ~]# systemctl start nginx php-fpm
[root@web01 ~]# systemctl enable nginx php-fpm

# 10.测试nginx连接PHP
# 编写PHP.info文件
1.创建站点目录
[root@web01 ~]# mkdir /wc

2.编写info.php
[root@web01 ~]# cd /wc/
[root@web01 wc]# vim info.php
<?php
phpinfo();
?>

# 11.windows上域名解析
10.0.0.7 blog.wc.com

部署MySQL

# 1.安装MySQL
[root@db01 ~]# yum install -y mariadb-server

# 2.启动MySQL并加入开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb

# 3.给 MySQL root用户设置密码
[root@db01 ~]# mysqladmin -uroot -p password '123'

# 4.连接数据库
[root@db01 ~]# mysql -uroot -p123

# 5.创建数据库
MariaDB [(none)]> create database wp;

# 6.创建用户
MariaDB [(none)]> grant all on *.* to wp_user@'localhost' identified by '111';

# 7.查看数据库是否创建成功
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wp                 |
+--------------------+

# 8.查看用户是否创建成功
MariaDB [(none)]> select user,host from mysql.user;
+---------+-----------+
| user    | host      |
+---------+-----------+
| root    | 127.0.0.1 |
| root    | ::1       |
|         | db01      |
| root    | db01      |
|         | localhost |
| root    | localhost |
| wp_user | localhost |
+---------+-----------+

# MySQL相关库和用户
WordPress库:wp
WordPress用户:wp_user
WordPress用户密码:111
WordPress用户ip:losthost

# 9.测试PHP是否可以跟MySQL建立连接
[root@web01 wc]# vim pm.php 

<?php
        $servername = "10.0.0.51";
        $username = "wp_user";
        $password = "111";
// 创建连接
        $conn = mysqli_connect($servername, $username, $password);
// 检测连接
        if (!$conn) {
             die("Connection failed: " . mysqli_connect_error());
        }
        echo "小哥哥,php可以连接MySQL...";
?>

部署 WeCenter代码

# 1.解压
[root@web01 WeCenter_3-2-1]# unzip WeCenter_3-2-1.zip 

# 2.修改nginx配置文件
[root@web01 WeCenter_3-2-1]# vim /etc/nginx/conf.d/blog.wc.com.conf 

server{
        listen 80;
        server_name blog.wc.com;
        root /wc/WeCenter_3-2-1;
        index index.php index.html;
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/opt/php.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}
}

# 3.重新加载nginx
[root@web01 WeCenter_3-2-1]# systemctl reload nginx

# 4.授权站点目录
[root@web01 WeCenter_3-2-1]# chown -R www.www /wc/

# 5.将代码scp到web02上
[root@web01 ~]# scp -r /wc/WeCenter_3-2-1 172.16.1.8:/wc/

# 6.授权用户
[root@web02 ~]# chown -R www.www /wc/

# 7.尝试10.0.0.8登录网址,在域名解析上注释web01





nfs共享存储

# 图片没有共享
# [root@web01 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 112
-rw-r--r-- 1 www www 113402 Jun  9 17:51 67f059447536e24b169f6d8d8911dcd1.jpg

# [root@web02 ~]# ll /wc/WeCenter_3-2-1/uploads/
total 0

nfs服务端

# 1.安装nfs
[root@nfs ~]# yum install -y nfs-utils

# 2.修改nfs配置文件
[root@nfs ~]# vim /etc/exports
# 共享目录   允许访问NFS服务端的网段 (可读可写,同步,任何用户都映射成nfs的匿名用户)
/data 172.16.1.0/24(rw,sync,anonuid=666,anongid=666,all_squash)

# 3.创建www用户和组
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

# 4..启动服务并加入开机自启
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs

# 5.检查nfs配置文件是否生效
[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)

nfs客户端

# 1.安装nfs
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

# 2.查看挂载点
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@web02 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

# 3.拷贝已有数据到共享目录
[root@web01 ~]# scp -r /wc/WeCenter_3-2-1/uploads/ 172.16.1.31:/data
[root@web02 ~]# scp -r /wc/WeCenter_3-2-1:/data

# 4.给nfs的/data目录授权
[root@nfs ~]# chown -R www.www /data

# 5.挂载
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /wc/WeCenter_3-2-1/uploads/
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /wc/WeCenter_3-2-1/uploads/

# 6.查看web01和web02、nfs
[root@web01 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@web02 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@nfs data]# ll article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

部署sersync

# 1.安装sersync的依赖
# 1.安装sersync的依赖
[root@nfs ~]# yum install -y rsync inotify-tools

# 2.下载sersync
[root@nfs ~]# wget
http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz

# 3.创建安装目录
[root@nfs ~]# mkdir /application

# 4.解压sersync
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/

# 5.改名
[root@nfs ~]# mv /application/GNU-Linux-x86/ /application/sersync-2.5.4

# 6.修改配置文件
[root@nfs ~]# vim /application/sersync-2.5.4/confxml.xml
inotifywait -mrq --format %w %f -e create,delete,attrib,close_write /data

1.将下面的false改成true
<inotify>
        <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>

2.修改推送数据的目录
<localpath watch="/data">

3.修改rsync服务端的IP地址和模块名
<remote ip="172.16.1.41" name="data"/>

4.修改rsync命令执行的选项
<commonParams params="-az --delete"/>

5.rsync命令认证,打开认证,修改匿名用户,密码文件
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/>

# 6.创建密码文件
[root@nfs data]# echo '123' > /etc/rsync.passwd

# 7.授权密码文件
[root@nfs data]# chmod 600 /etc/rsync.passwd

# 8.启动sersync
[root@nfs sersync-2.5.4]# /application/sersync-2.5.4/sersync2 -rdo /application/sersync2.5.4/confxml.xml
```
day13.4

[toc]



## web集群数据拆分及共享存储、实时同步

## 环境准备

| 主机名 | wanip     | lanip       | 角色                    | 安装应用        |
| ------ | --------- | ----------- | ----------------------- | --------------- |
| web01  | 10.0.0.7  | 172.16.1.7  | web网站,共享存储客户端 | nginx、PHP、nfs |
| web02  | 10.0.0.8  | 172.16.1.8  | web网站,共享存储客户端 | nginx、PHP、nfs |
| db01   | 10.0.0.51 | 172.16.1.51 | 数据库                  | MySQL(mariadb)  |
| backup | 10.0.0.41 | 172.16.1.41 | 实时同步                | sersync         |
| nfs    | 10.0.0.31 | 172.16.1.31 | 共享存储服务端          | nfs             |

## lnmp环境搭建

```bash
# 1.关闭防火墙
[root@web01 ~]# systemctl stop firewalld
[root@web01 ~]# systemctl disable firewalld

# 2.关闭selinux
[root@web01 ~]# setenforce 0

# 3.添加yum源
1.nginx源
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

2.PHP源
[root@web01 ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

# 4.安装PHP
[root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

# 5.安装nginx
[root@web01 ~]# yum install -y nginx

# 6.创建www用户
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web01 ~]# id www
uid=666(www) gid=666(www) groups=666(www)

# 7.统一用户
1.修改nginx配置文件
[root@web01 ~]# vim /etc/nginx/nginx.conf 
user  www;

2.修改PHP用户
[root@web01 ~]# vim /etc/php-fpm.d/www.conf 
user = www
group = www

## 启动php服务时,创建php.sock安全套接字文件,该文件的属主和属组
listen = /opt/php.sock
listen.owner = www
listen.group = www
### 完整php配置文件
[www]
user = www
group = www
;listen = 0.0.0.0:9000
listen = /opt/php.sock
listen.owner = www
listen.group = www
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache

# 8.配置nginx连接PHP文件
[root@web02 ~]# vim /etc/nginx/conf.d/blog.wc.com.conf 

server{
        listen 80;
        server_name blog.wc.com;
        root /wc;
        index index.php index.html;
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/opt/php.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}
}

# 检查语法
[root@web01 ~]# nginx -t

# 9.启动nginx和PHP并加入开机自启
[root@web01 ~]# systemctl start nginx php-fpm
[root@web01 ~]# systemctl enable nginx php-fpm

# 10.测试nginx连接PHP
# 编写PHP.info文件
1.创建站点目录
[root@web01 ~]# mkdir /wc

2.编写info.php
[root@web01 ~]# cd /wc/
[root@web01 wc]# vim info.php
<?php
phpinfo();
?>

# 11.windows上域名解析
10.0.0.7 blog.wc.com
```

## 部署MySQL

```bash
# 1.安装MySQL
[root@db01 ~]# yum install -y mariadb-server

# 2.启动MySQL并加入开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb

# 3.给 MySQL root用户设置密码
[root@db01 ~]# mysqladmin -uroot -p password '123'

# 4.连接数据库
[root@db01 ~]# mysql -uroot -p123

# 5.创建数据库
MariaDB [(none)]> create database wp;

# 6.创建用户
MariaDB [(none)]> grant all on *.* to wp_user@'localhost' identified by '111';

# 7.查看数据库是否创建成功
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wp                 |
+--------------------+

# 8.查看用户是否创建成功
MariaDB [(none)]> select user,host from mysql.user;
+---------+-----------+
| user    | host      |
+---------+-----------+
| root    | 127.0.0.1 |
| root    | ::1       |
|         | db01      |
| root    | db01      |
|         | localhost |
| root    | localhost |
| wp_user | localhost |
+---------+-----------+

# MySQL相关库和用户
WordPress库:wp
WordPress用户:wp_user
WordPress用户密码:111
WordPress用户ip:losthost

# 9.测试PHP是否可以跟MySQL建立连接
[root@web01 wc]# vim pm.php 

<?php
        $servername = "10.0.0.51";
        $username = "wp_user";
        $password = "111";
// 创建连接
        $conn = mysqli_connect($servername, $username, $password);
// 检测连接
        if (!$conn) {
             die("Connection failed: " . mysqli_connect_error());
        }
        echo "小哥哥,php可以连接MySQL...";
?>

```
![](https://img2022.cnblogs.com/blog/2774129/202206/2774129-20220609185204368-1043321067.png)


## 部署 WeCenter代码

```bash
# 1.解压
[root@web01 WeCenter_3-2-1]# unzip WeCenter_3-2-1.zip 

# 2.修改nginx配置文件
[root@web01 WeCenter_3-2-1]# vim /etc/nginx/conf.d/blog.wc.com.conf 

server{
        listen 80;
        server_name blog.wc.com;
        root /wc/WeCenter_3-2-1;
        index index.php index.html;
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/opt/php.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}
}

# 3.重新加载nginx
[root@web01 WeCenter_3-2-1]# systemctl reload nginx

# 4.授权站点目录
[root@web01 WeCenter_3-2-1]# chown -R www.www /wc/

# 5.将代码scp到web02上
[root@web01 ~]# scp -r /wc/WeCenter_3-2-1 172.16.1.8:/wc/

# 6.授权用户
[root@web02 ~]# chown -R www.www /wc/

# 7.尝试10.0.0.8登录网址,在域名解析上注释web01

```
![](https://img2022.cnblogs.com/blog/2774129/202206/2774129-20220609185038049-63644274.png)



## nfs共享存储

```bash
# 图片没有共享
# [root@web01 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 112
-rw-r--r-- 1 www www 113402 Jun  9 17:51 67f059447536e24b169f6d8d8911dcd1.jpg

# [root@web02 ~]# ll /wc/WeCenter_3-2-1/uploads/
total 0
```

## nfs服务端

```bash
# 1.安装nfs
[root@nfs ~]# yum install -y nfs-utils

# 2.修改nfs配置文件
[root@nfs ~]# vim /etc/exports
# 共享目录   允许访问NFS服务端的网段 (可读可写,同步,任何用户都映射成nfs的匿名用户)
/data 172.16.1.0/24(rw,sync,anonuid=666,anongid=666,all_squash)

# 3.创建www用户和组
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

# 4..启动服务并加入开机自启
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs

# 5.检查nfs配置文件是否生效
[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)

```

## nfs客户端

```bash
# 1.安装nfs
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

# 2.查看挂载点
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@web02 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

# 3.拷贝已有数据到共享目录
[root@web01 ~]# scp -r /wc/WeCenter_3-2-1/uploads/ 172.16.1.31:/data
[root@web02 ~]# scp -r /wc/WeCenter_3-2-1/uploads/ 172.16.1.31:/data

# 4.给nfs的/data目录授权
[root@nfs ~]# chown -R www.www /data

# 5.挂载
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /wc/WeCenter_3-2-1/uploads/
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /wc/WeCenter_3-2-1/uploads/

# 6.查看web01和web02、nfs
[root@web01 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@web02 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@nfs data]# ll article/20220609/
total 352
-rw-r--r-- 1 www www   7332 Jun  9 18:16 170x110_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg
```

## 部署sersync

````bash
# 1.安装sersync的依赖
# 1.安装sersync的依赖
[root@nfs ~]# yum install -y rsync inotify-tools

# 2.下载sersync
[root@nfs ~]# wget
http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz

# 3.创建安装目录
[root@nfs ~]# mkdir /application

# 4.解压sersync
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/

# 5.改名
[root@nfs ~]# mv /application/GNU-Linux-x86/ /application/sersync-2.5.4

# 6.修改配置文件
[root@nfs ~]# vim /application/sersync-2.5.4/confxml.xml
inotifywait -mrq --format %w %f -e create,delete,attrib,close_write /data

1.将下面的false改成true
<inotify>
        <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>

2.修改推送数据的目录
<localpath watch="/data">

3.修改rsync服务端的IP地址和模块名
<remote ip="172.16.1.41" name="data"/>

4.修改rsync命令执行的选项
<commonParams params="-az --delete"/>

5.rsync命令认证,打开认证,修改匿名用户,密码文件
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/>

# 6.创建密码文件
[root@nfs data]# echo '123' > /etc/rsync.passwd

# 7.授权密码文件
[root@nfs data]# chmod 600 /etc/rsync.passwd

# 8.启动sersync
[root@nfs sersync-2.5.4]# /application/sersync-2.5.4/sersync2 -rdo /application/sersync2.5.4/confxml.xml

# 9.测试实时同步
[root@web01 20220609]# rm -fr 170x110_a711948c6720e891390eb78ea7f4931c.jpg 
[root@web01 20220609]# ll
total 344
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@web02 ~]# ll /wc/WeCenter_3-2-1/uploads/article/20220609/
total 344
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg

[root@nfs data]# ll article/20220609/
total 344
-rw-r--r-- 1 www www 113402 Jun  9 18:15 8d29c7b23b877a5adb7ca01dadd1ceea.jpg
-rw-r--r-- 1 www www   4289 Jun  9 18:16 90x90_a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:16 a711948c6720e891390eb78ea7f4931c.jpg
-rw-r--r-- 1 www www 113402 Jun  9 18:09 eedd7cb07e5f407004b4f82cdb2677ac.jpg
```

1.安装rsync

[root@backup ~]# yum install -y rsync

2.修改rsync的配置文件

[root@backup ~]# vim /etc/rsyncd.conf
[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 = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to oldboyedu backup!
path = /backup

[data]
comment = I love you !
path = /data

3.创建www用户和组

[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

4.创建密码文件

[root@backup ~]# echo 'rsync_backup:123' > /etc/rsync.password

5.授权密码文件

[root@backup ~]# chmod 600 /etc/rsync.password

6.创建备份目录和实时同步目录

[root@backup ~]# mkdir /backup
[root@backup ~]# mkdir /data

7.授权备份目录和实时同步目录

[root@backup ~]# chown www.www /backup/
[root@backup ~]# chown www.www /data/

8.启动rsync并加入开机自启

[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

9.检查进程和端口

[root@backup ~]# ps -ef|grep [r]sync
root 8059 1 0 10:24 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
[root@backup ~]# netstat -lntup|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 8059/rsync
tcp6 0 0 :::873 ::😗 LISTEN 8059/rsync

posted @   Gabydawei  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示