实战案例:实现基于分布式的LAMP架构,并将NFS实 时同步到备份服务器
标签搜索

实战案例:实现基于分布式的LAMP架构,并将NFS实 时同步到备份服务器

lilymaxyz
2025-02-18 / 0 评论 / 3 阅读 / 正在检测是否收录...

@[TOC](实战案例:实现基于分布式的LAMP架构,并将NFS实
时同步到备份服务器)

1、实验目的:实现基于分布式的LAMP架构,并将NFS实时同步到备份服务器

在这里插入图片描述

2.环境要求

需要6台主机

节点名称ip地址节点信息
ubuntu2210.0.0.100DNS
ubuntu2210.0.0.110www.wang.org网站
ubuntu2210.0.0.120web
ubuntu2210.0.0.130Mysql
ubuntu2210.0.0.140NFS
ubuntu2210.0.0.150BACKUP

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

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】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 查看是否同步
    在这里插入图片描述
    在这里插入图片描述

endl

0

评论

博主关闭了所有页面的评论