阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS7下Rsync+sersync实现数据实时同步

501次阅读
没有评论

共计 10551 个字符,预计需要花费 27 分钟才能阅读完成。

前言:

CentOS7 下 Rsync+sersync 实现数据实时同步 

一、为什么要用 Rsync+sersync 架构?

1、sersync 是基于 Inotify 开发的,类似于 Inotify-tools 的工具

2、sersync 可以记录下被监听目录中发生变化的 (包括增加、删除、修改) 具体 某一个文件或某一个目录的名字 ,然后使用 rsync 同步的时候,只同步发生变化的 这个文件或者这个目录。

二、Rsync+Inotify-tools 与 Rsync+sersync 这两种架构有什么区别?

1、Rsync+Inotify-tools

(1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;

(2):rsync 在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化 ,每次都是对 整个目录 进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。

2、Rsync+sersync

(1):sersync 可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体 某一个文件或某一个目录的名字

(2):rsync 在同步的时候,只同步发生变化的这个文件或者这个目录 每次发生变化的数据相对整个同步目录数据来说是很小的,rsync 在遍历查找比对文件时,速度很快),因此,效率很高。

小结:当同步的目录数据量 不大 时,建议使用 Rsync+Inotify-tools;当数据量 很大(几百 G 甚至 1T 以上)、文件很多时,建议使用Rsync+sersync

说明:

操作系统:CentOS 7.0

源服务器:192.168.0.48(Sersync+web)(Master 作为主发布服务器)

目标服务器:192.168.0.50、(Rsync+web)(此处可逐步增加集群的 slave)

目的:把 源服务器上 /home/Sync目录实时同步到目标服务器的 /home/Sync

具体操作:

第一部分:分别在两台目标服务器 192.168.0.50 上操作

一、在在目标服务器安装 Rsync 服务端

1、关闭 SELINUX

#vi /etc/selinux/config #编辑防火墙配置文件

#SELINUX=enforcing#注释掉

#SELINUXTYPE=targeted#注释掉

SELINUX=disabled#增加

:wq! #保存,退出

setenforce 0 #立即生效

2、开启防火墙 tcp 873 端口(Rsync 默认端口)

#vi /etc/sysconfig/iptables #编辑防火墙配置文件

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -ptcp –dport 873 -j ACCEPT

:wq! #保存退出

#systemctl restart firewalld.service #最后重启防火墙使配置生效

3、安装 Rsync 服务端软件

#yum install rsync xinetd #安装

# vi /etc/rc.d/rc.local      #设置开机启动

/usr/bin/rsync –daemon –config=/etc/rsyncd.conf

:wq! #保存退出

# chmod +x/etc/rc.d/rc.local  #否则重启不执行

 

# systemctl start xinetd #启动(CentOS中是以 xinetd 来管理 Rsync 服务的

4、创建 rsyncd.conf 配置文件

#vi /etc/rsyncd.conf #创建配置文件,添加以下代码

log file =/var/log/rsyncd.log #日志文件位置,启动 rsync 后自动产生这个文件,无需提前创建

pidfile =/var/run/rsyncd.pid #pid文件的存放位置

lock file =/var/run/rsync.lock #支持 max connections 参数的锁文件

secretsfile = /etc/rsync.pass  #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件

motd file =/etc/rsyncd.Motd #rsync启动时欢迎信息页面文件位置(文件内容自定义)

[Sync] #自定义名称

path = /home/Sync/#rsync服务端数据目录路径

comment = Sync#模块名称与 [md] 自定义名称相同

uid = root #设置 rsync 运行权限为 root

gid = root #设置 rsync 运行权限为 root

port=873  #默认端口

use chroot= no #默认为 true,修改为 no,增加对目录文件软连接的备份

read only =no  #设置 rsync 服务端文件为读写权限

list = no #不显示 rsync 服务端资源列表

maxconnections = 200 #最大连接数

timeout =600  #设置超时时间

auth users= Sync #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开

hosts allow= 192.168.0.48  #允许进行数据同步的客户端 IP 地址,可以设置多个,用英文状态下逗号隔开

hosts deny= 192.168.21.254 #禁止数据同步的客户端 IP 地址,可以设置多个,用英文状态下逗号隔开

:wq!  #保存, 退出(贴进配置文件将中文去掉,否则可能造成无法识别模块

5、创建用户认证文件

#vi/etc/rsync.pass #配置文件,添加以下内容,添加允许传输用户和密码

Sync:jiakeke2015  #格式,用户名: 密码,可以设置多个,每行一个用户名: 密码

:wq!  #保存退出

 

6、设置文件权限

#chmod 600 /etc/rsyncd.conf  #设置文件所有者读取、写入权限

#chmod 600 /etc/rsync.pass  #设置文件所有者读取、写入权限

7、启动 rsync

# systemctl start xinetd  #启动

# systemctl stop xinetd  #停止

# systemctl restart xinetd  #重新启动

第二部分:在源服务器 192.168.0.48 上操作

一、安装 Rsync 客户端

1、关闭 SELINUX

#vi /etc/selinux/config  #编辑防火墙配置文件

#SELINUX=enforcing  #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled  #增加

:wq!  #保存退出

#setenforce 0   #立即生效

2、开启防火墙 tcp 873 端口(Rsync默认端口,做为客户端的 Rsync 可以不用开启 873 端口

#vi /etc/sysconfig/iptables  #编辑防火墙配置文件

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -ptcp –dport 873 -j ACCEPT

:wq! #保存退出

# systemctl restartfirewalld.service #最后重启防火墙使配置生效

3、安装 Rsync 客户端端软件

#whereisrsync  #查看系统是否已安装 rsync, 出现下面的提示,说明已经安装

rsync:/usr/bin/rsync /usr/share/man/man1/rsync.1.gz

#yum install  xinetd  #只安装 xinetd 即可,CentOS 中是以 xinetd 来管理 rsync 服务的

#yum install rsync xinetd #如果默认没有 rsync,运行此命令进行安装 rsync 和 xinetd

# vi /etc/rc.local      #设置开机启动

/usr/bin/rsync –daemon

#vi /etc/reyncd.conf

log file = /var/log/rsyncd.log

pidfile = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

motd file = /etc/rsyncd.Motd

[Sync]

comment = Sync

uid = root

gid = root

port=873

:wq退出

# chmod +x /etc/rc.d/rc.local  #否则重启不执行

 

#systemctl start xinetd  #启动(CentOS 中是以 xinetd 来管理 rsync 服务的)

4、创建认证密码文件

#vi /etc/passwd.txt  #编辑文件,添加以下内容,该密码应与目标服务器中的 /etc/rsync.pass 中的密码一致,

jiakeke2015 #密码

:wq! #保存退出

#chmod 600 /etc/passwd.txt #设置文件权限,只设置文件所有者具有读取、写入权限即可

5、测试 源服务器 192.168.0.48目标服务器 192.168.0.50之间的数据同步

#mkdir -p /home/Sync/ceshi  #在源服务器上创建测试文件夹,然后在源服务器运行下面 1 行命令

rsync -avH –port=873 –progress–delete  /home/Sync/ Sync@192.168.0.50::Sync–password-file=/etc/passwd.txt

运行完成后,分别在目标服务器 192.168.0.50 上查看,在 /home/Sync/ 目录下有 ceshi 文件夹,说明数据同步成功,命令中目录可以随意目录,传输到目标服务器目录时文件(或目录)均放到 /etc/rsyncd.conf 配置的服务器目录路径,如果源目录改变了,那么传输时两个目录将进行目录匹配,会有增删动作,因此需要注意。

 

二、安装 sersync 工具,实时触发 rsync 进行同步

1、查看服务器内核是否支持 inotify

ll /proc/sys/fs/inotify  #列出文件目录,出现下面的内容,说明服务器内核支持 inotify

-rw-r–r– 1 root root 0 Mar  7 02:17 max_queued_events

-rw-r–r– 1 root root 0 Mar  7 02:17 max_user_instances

-rw-r–r– 1 root root 0 Mar  7 02:17 max_user_watches

备注:Linux 下支持 inotify 的内核最小为 2.6.13,可以输入命令:#uname -a 查看内核

CentOS 7.0内核为3.10.0,默认已经支持inotify

2、修改 inotify 默认参数(inotify 默认内核参数值太小)

查看系统默认参数值:

sysctl -a | grep max_queued_events

结果是:fs.inotify.max_queued_events= 16384

sysctl -a | grep max_user_watches

结果是:fs.inotify.max_user_watches= 8192

sysctl -a | grep max_user_instances

结果是:fs.inotify.max_user_instances= 128

修改参数:

#sysctl -wfs.inotify.max_queued_events=”99999999″

#sysctl -w fs.inotify.max_user_watches=”99999999″

#sysctl -wfs.inotify.max_user_instances=”65535″

#vi /etc/sysctl.conf #添加以下代码

fs.inotify.max_queued_events=99999999

fs.inotify.max_user_watches=99999999

fs.inotify.max_user_instances=65535

:wq! #保存退出

参数说明:

max_queued_events

inotify队列最大长度,如果值太小,会出现 ”** Event QueueOverflow **” 错误,导致监控文件不准确

max_user_watches

要同步的文件包含多少目录,可以用:find /home/Sync-type d | wc -l 统计,必须保证 max_user_watches 值大于统计结果(这里 /home/Sync 为同步文件目录)

max_user_instances

每个用户创建 inotify 实例最大值

3、安装 sersync

sersync下载地址:https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz

上传 sersync2.5.4_64bit_binary_stable_final.tar.gz 到 /usr/local/src 目录下

#cd /usr/local/src

#tar zxvfsersync2.5.4_64bit_binary_stable_final.tar.gz  #解压

#mv GNU-Linux-x86  /usr/local/sersync  #移动目录到 /usr/local/sersync

4、配置 sersync

#cd  /usr/local/sersync #进入 sersync 安装目录

#cp confxml.xml confxml.xml-bak  #备份原文件

#vi confxml.xml  #编辑,修改下面的代码

<?xmlversion=”1.0″ encoding=”ISO-8859-1″?>

<headversion=”2.5″>

<host hostip=”localhost”port=”8008″></host>

<debugstart=”false”/>

<fileSystemxfs=”false”/>

<filterstart=”false”>

<excludeexpression=”(.*)\.svn”></exclude>

<excludeexpression=”(.*)\.gz”></exclude>

<excludeexpression=”^info/*”></exclude>

<exclude expression=”^static/*”></exclude>

</filter>

<inotify>

<deletestart=”true”/>

<createFolderstart=”true”/>

<createFilestart=”false”/>

<closeWritestart=”true”/>

<moveFromstart=”true”/>

<moveTostart=”true”/>

<attribstart=”false”/>

<modifystart=”false”/>

</inotify>

<sersync>

<localpath watch=”/home/Sync“>

<remote ip=”192.168.0.50” name=”Sync“/>

<!–<remoteip=”192.168.8.40″ name=”tongbu”/>–>

<!–<remoteip=”192.168.8.40″ name=”tongbu”/>–>

</localpath>

<rsync>

<commonParams params=”-artuz“/>

<auth start=”true” users=”Sync“passwordfile=”/etc/passwd.txt“/>

<userDefinedPortstart=”false” port=”874″/><!– port=874 –>

<timeoutstart=”false” time=”100″/><!– timeout=100 –>

<sshstart=”false”/>

</rsync>

<failLogpath=”/tmp/rsync_fail_log.sh” timeToExecute=”60″/><!–defaultevery 60mins execute once–>

<crontab start=”true” schedule=”600“><!–600mins–>

<crontabfilterstart=”false”>

<excludeexpression=”*.php”></exclude>

<excludeexpression=”info/*”></exclude>

</crontabfilter>

</crontab>

<plugin start=”false”name=”command”/>

</sersync>

<pluginname=”command”>

<paramprefix=”/bin/sh” suffix=””ignoreError=”true”/> <!–prefix /opt/tongbu/mmm.sh suffix–>

<filterstart=”false”>

<includeexpression=”(.*)\.php”/>

<includeexpression=”(.*)\.sh”/>

</filter>

</plugin>

<pluginname=”socket”>

<localpathwatch=”/opt/tongbu”>

<deshostip=”192.168.138.20″ port=”8009″/>

</localpath>

</plugin>

<pluginname=”refreshCDN”>

<localpathwatch=”/data0/htdocs/cms.xoyo.com/site/”>

<cdninfodomainname=”ccms.chinacache.com” port=”80″username=”xxxx” passwd=”xxxx”/>

<sendurlbase=”http://pic.xoyo.com/cms”/>

<regexurlregex=”false”match=”cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images”/>

</localpath>

</plugin>

</head>

:wq!  #保存退出

参数说明:

localpath watch=”/home/Sync”#源服务器同步目录

 192.168.0.50#目标服务器 IP 地址

name=”Sync”#目标服务器 rsync 同步目录模块名称

users=”Sync”#目标服务器 rsync 同步用户名

passwordfile=”/etc/passwd.pass” #目标服务器 rsync 同步用户的密码在源服务器的存放路径

remote ip=”192.168.0.50“: #目标服务器 ip,每行一个

failLogpath=”/tmp/rsync_fail_log.sh” #脚本运行失败日志记录

start=”true”  #设置为 true,每隔 600 分钟执行一次全盘同步

5、设置 sersync 监控开机自动执行

#vi /etc/rc.d/rc.local  #编辑,在最后添加一行

/usr/local/sersync/sersync2 -d -r -o  /usr/local/sersync/confxml.xml #设置开机自动运行脚本

:wq!  #保存退出

# chmod +x /etc/rc.d/rc.local   #否则重启不执行

6、添加脚本监控 sersync 是否正常运行

#mkdir  /home/crontab

#vi  /home/crontab/check_sersync.sh  #编辑,添加以下代码

#!/bin/sh

sersync=”/usr/local/sersync/sersync2″

confxml=”/usr/local/sersync/confxml.xml”

status=$(psaux |grep ‘sersync2’|grep -v ‘grep’|wc -l)

if [$status -eq 0];

then

$sersync -d-r -o $confxml &

else

exit 0;

fi

:wq!  #保存退出

#chmod +x /home/crontab/check_sersync.sh#添加脚本执行权限

#vi /etc/crontab #编辑,在最后添加下面一行

*/5 * * * * root /home/crontab/check_sersync.sh >/dev/null 2>&1  #每隔 5 分钟执行一次脚本

#重新加载服务

#systemctl restart crond.service

6、测试 sersync 实时触发 rsync 同步脚本是否正常运行

在源服务器 192.168.0.48 上创建文件 inotify_rsync_ceshi

#mkdir /home/Sync/inotify_rsync_ceshi

重新启动源服务器:192.168.0.48

等系统启动之后,查看两台目标服务器 192.168.0.130,192.168.21.128 的 /home/Sync 下是否有 inotify_rsync_ceshi 文件夹

然后再在源服务器 192.168.0.48 创建文件夹 inotify_rsync_ceshi_new

mkdir /home/Sync/inotify_rsync_ceshi_new

继续查看两台目标服务器 192.168.0.130,192.168.21.128 的 //home/Sync 下是否有 inotify_rsync_ceshi_new 文件夹

如果以上测试都通过,说明 inotify 实时触发 rsync 同步脚本运行正常。

至此,Linux 下 Rsync+sersync 实现数据实时同步完成。

扩展阅读:

rsync参数

-v, –verbose 详细模式输出

-q, –quiet 精简输出模式

-c, –checksum 打开校验开关,强制对文件传输进行校验

-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD

-r, –recursive 对子目录以递归模式处理

-R, –relative 使用相对路径信息

-b, –backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用 –suffix 选项来指定不同的备份文件前缀。

–backup-dir 将备份文件 (如~filename) 存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀

-u, –update 仅仅进行更新,也就是跳过所有已经存在于 DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

-l, –links 保留软链结

-L, –copy-links 想对待常规文件一样处理软链结

–copy-unsafe-links 仅仅拷贝指向 SRC 路径目录树以外的链结

–safe-links 忽略指向 SRC 路径目录树以外的链结

-H, –hard-links 保留硬链结

-p, –perms 保持文件权限

-o, –owner 保持文件属主信息

-g, –group 保持文件属组信息

-D, –devices 保持设备文件信息

-t, –times 保持文件时间信息

-S, –sparse 对稀疏文件进行特殊处理以节省 DST 的空间

-n, –dry-run现实哪些文件将被传输

-W, –whole-file 拷贝文件,不进行增量检测

-x, –one-file-system 不要跨越文件系统边界

-B, –block-size=SIZE 检验算法使用的块尺寸,默认是 700 字节

-e, –rsh=COMMAND 指定使用 rsh、ssh 方式进行数据同步

–rsync-path=PATH 指定远程服务器上的 rsync 命令所在路径信息

-C, –cvs-exclude 使用和 CVS 一样的方法自动忽略文件,用来排除那些不希望传输的文件

–existing 仅仅更新那些已经存在于 DST 的文件,而不备份那些新创建的文件

–delete 删除那些 DST 中 SRC 没有的文件

–delete-excluded 同样删除接收端那些被该选项指定排除的文件

–delete-after 传输结束以后再删除

–ignore-errors 及时出现 IO 错误也进行删除

–max-delete=NUM 最多删除 NUM 个文件

–partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输

–force 强制删除目录,即使不为空

–numeric-ids 不将数字的用户和组 ID 匹配为用户名和组名

–timeout=TIME IP超时时间,单位为秒

-I, –ignore-times 不跳过那些有同样的时间和长度的文件

–size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

–modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为 0

-T –temp-dir=DIR 在 DIR 中创建临时文件

–compare-dest=DIR 同样比较 DIR 中的文件来决定是否需要备份

-P 等同于 –partial

–progress 显示备份过程

-z, –compress 对备份的文件在传输时进行压缩处理

–exclude=PATTERN 指定排除不需要传输的文件模式

–include=PATTERN 指定不排除而需要传输的文件模式

–exclude-from=FILE 排除 FILE 中指定模式的文件

–include-from=FILE 不排除 FILE 指定模式匹配的文件

–version 打印版本信息

–address 绑定到特定的地址

–config=FILE 指定其他的配置文件,不使用默认的 rsyncd.conf 文件

–port=PORT 指定其他的 rsync 服务端口

–blocking-io 对远程 shell 使用阻塞 IO

-stats 给出某些文件的传输状态

–progress 在传输时现实传输过程

–log-format=formAT 指定日志文件格式

–password-file=FILE 从 FILE 中得到密码

–bwlimit=KBPS 限制 I / O 带宽,KBytes per second

-h, –help 显示帮助信息

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147900.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计10551字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992193
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...