@[TOC](实战案例:实现基于分布式的LAMP架构,并将NFS实
时同步到备份服务器)
1、实验目的:实现基于分布式的LAMP架构,并将NFS实时同步到备份服务器
2.环境要求
需要6台主机
节点名称 | ip地址 | 节点信息 |
---|---|---|
ubuntu22 | 10.0.0.100 | DNS |
ubuntu22 | 10.0.0.110 | www.wang.org网站 |
ubuntu22 | 10.0.0.120 | web |
ubuntu22 | 10.0.0.130 | Mysql |
ubuntu22 | 10.0.0.140 | NFS |
ubuntu22 | 10.0.0.150 | BACKUP |
3.前提准备
关闭SElinux
关闭防火墙
# -----
ufw disable
[09:27:58 root@ubuntu2204:~]# ufw status
Status: inactive
#如果是inactive表示已经关闭,如果是active表示已经启动
时间同步
# -----
apt -y install chrony; chronyc sources -v ; timedatectl set-timezone Asia/Shanghai
# 更新
apt update ; apt upgrade
4.实现步骤
4.1.DNS 服务器【10.0.0.100】
- 运行脚本
[root@ubuntu2204:~]# cat install_dns.sh
#!/bin/bash
DOMAIN=wang.org
HOST=www
HOST_IP=10.0.0.100
LOCALHOST=`hostname -I | awk '{print $1}'`
. /etc/os-release
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
install_dns () {
if [ $ID = 'centos' -o $ID = 'rocky' ];then
yum install -y bind bind-utils
elif [ $ID = 'ubuntu' ];then
apt update
apt install -y bind9 bind9-utils bind9-host bind9-dnsutils
else
color "不支持此操作系统,退出!" 1
exit
fi
}
config_dns () {
if [ $ID = 'centos' -o $ID = 'rocky' ];then
sed -i -e '/listen-on/s/127.0.0.1/localhost/' -e '/allow-query/s/localhost/any/' -e 's/dnssec-enable yes/dnssec-enable no/' -e 's/dnssec-validation yes/dnssec-validation no/' /etc/named.conf
cat >> /etc/named.rfc1912.zones <<EOF
zone "$DOMAIN" IN {
type master;
file "$DOMAIN.zone";
};
EOF
cat > /var/named/$DOMAIN.zone <<EOF
\$TTL 1D
@ IN SOA master admin (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A ${LOCALHOST}
$HOST A $HOST_IP
EOF
chmod 640 /var/named/$DOMAIN.zone
chgrp named /var/named/$DOMAIN.zone
elif [ $ID = 'ubuntu' ];then
sed -i 's/dnssec-validation auto/dnssec-validation no/' /etc/bind/named.conf.options
cat >> /etc/bind/named.conf.default-zones <<EOF
zone "$DOMAIN" IN {
type master;
file "/etc/bind/$DOMAIN.zone";
};
EOF
cat > /etc/bind/$DOMAIN.zone <<EOF
\$TTL 1D
@ IN SOA master admin (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A ${LOCALHOST}
$HOST A $HOST_IP
EOF
chgrp bind /etc/bind/$DOMAIN.zone
else
color "不支持此操作系统,退出!" 1
exit
fi
}
start_service () {
systemctl enable named
systemctl restart named
systemctl is-active named.service
if [ $? -eq 0 ] ;then
color "DNS 服务安装成功!" 0
else
color "DNS 服务安装失败!" 1
exit 1
fi
}
install_dns
config_dns
start_service
4.2.MySQL服务器【10.0.0.130】
apt update && apt install mysql-server -y
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释掉
#bind-address = 127.0.0.1
#mysqlx-bind-address = 127.0.0.1
# 重启服务
systemctl restart mysql
4.3.web服务器1【10.0.0.110】
apt update && apt install apache2 php php-mysql -y
- 修改主页
[root@ubuntu2204:html]# echo 'welcome to M53 website' > /var/www/html/index.htm
- 访问
wordpress官网: https://cn.wordpress.org - 下载上传并解压
4.4.web服务器2【10.0.0.120】
apt update && apt install apache2 php php-mysql -y
4.5.NFS服务器【10.0.0.140】
- 【10.0.0.140】
[root@ubuntu2204:~]# apt install nfs-server -y
- 【10.0.0.110】【10.0.0.120】
[root@ubuntu2204:wp-content]# apt install nfs-common -y
- 【10.0.0.140】
- 【10.0.0.110】
- 【10.0.0.140】
- 【10.0.0.120】
4.6.rsync服务【10.0.0.150】
- 配置文件内容
[root@ubuntu2204:~]# cat /etc/rsyncd.conf
uid = root
gid = root
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no
[backup]
path = /data/backup/
comment = backup dir
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pas
- 服务器端生成验证文件
4.7.rsync服务【10.0.0.140】
- 官方网站:https://rsync.samba.org/
- 下载上传并解压
- 查看是否同步
评论