当前位置: 首页 > news >正文

搭建主从服务器

任务需求

客户端通过访问 www.nihao.com 后,能够通过 dns 域名解析,访问到 nginx 服务中由 nfs 共享的首页文件,内容为:Very good, you have successfully set up the system. 各个主机能够实现时间同步,并且都开启防火墙来保证服务安装。

主机规划:

(注:上述主机均配置了本地仓库)

1.分别修改主机名和IP地址

web:

[root@localhost ~]# hostnamectl hostname web
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.10.8/24 ipv4.gateway 192.168.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

nfs:

[root@localhost ~]# hostnamectl hostname nfs
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.10.9/24 ipv4.gateway 192.168.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

dns1:

[root@localhost ~]# hostnamectl hostname dns1
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.10.18/24 ipv4.gateway 192.168.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

dns2:

[root@localhost ~]# hostnamectl hostname dns2
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.10.28/24 ipv4.gateway 192.168.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

client:

[root@localhost ~]# hostnamectl hostname client
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.10.7/24 ipv4.gateway 192.168.10.2 ipv4.dns "192.168.10.18 192.168.10.28" connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

关闭几台服务器的selinux:

[root@web ~]# sed -i 's/SELINUX=enforcing/SELINUX=Permissive/g' /etc/selinux/config

 2.配置NFS服务器

2.1安装NFS软件

[root@nfs ~]# mount /dev/sr0 /mnt/
[root@nfs ~]# dnf install nfs-utils -y

2.2启动NFS服务

[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server

2.3在防火墙中放行服务

[root@nfs ~]# firewall-cmd --permanent --add-service=nfs
success
[root@nfs ~]# firewall-cmd --reload
success

2.4配置NFS服务

在nfs主机上创建共享目录,暴露给web端,并赋予写的权限(w)

[root@nfs ~]# mkdir /nfs/data -p
[root@nfs ~]# cat /etc/exports
/nfs/data 192.168.10.8(rw)
[root@nfs ~]# systemctl restart nfs-server.service 
[root@nfs ~]# showmount -e 192.168.10.9
[root@nfs ~]# chmod o+w /nfs/ -R

 3.配置web服务器

3.1安装nginx,nfs软件

[root@web ~]# mount /dev/sr0 /mnt/
[root@web ~]# dnf install nginx nfs-utils -y

 3.2在防火墙中放行服务

[root@web ~]# firewall-cmd --permanent --add-service=nfs
success
[root@web ~]# firewall-cmd --permanent --add-service=http
success
[root@web ~]# firewall-cmd --reload
success

 3.3创建nihao.conf的配置文件

[root@web ~]# cat /etc/nginx/conf.d/nihao.conf 
server {
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        server_name www.nihao.com;
        root /var/www/nihao;
}

3.4创建nfs的挂载目录

[root@web ~]# mkdir /var/www/nihao -p

3.5执行挂载

[root@web ~]# mount -t nfs 192.168.10.9:/nfs/data /var/www/nihao/

3.6在nfs端写入www.nihao.com的首页文件

[root@nfs ~]# echo Very good, you have successfully set up the system. > /nfs/data/index.html

3.7在web端查看

[root@web ~]# cat /var/www/nihao/index.html 
Very good, you have successfully set up the system.

3.8重启nginx服务

[root@web ~]# systemctl restart nginx

 4.配置dns服务端

4.1在两台dns服务端下载dns

[root@dns1 ~]# mount /dev/sr0 /mnt/
[root@dns1 ~]# dnf install bind -y

4.2在两台dns服务端放行服务

[root@dns1 ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns1 ~]# firewall-cmd --reload
success

4.3在dns1服务端修改主配置文件

[root@dns1 ~]# cat /etc/named.conf 
options {
	listen-on port 53 { 192.168.10.18; };
	directory 	"/var/named";
	allow-query     { any; };
};
zone "nihao.com" IN {
	type master;
	file "nihao.com";
};

 4.4在dns1服务端配置区域文件

[root@dns1 ~]# cat /var/named/nihao.com 
$TTL    1D
@       IN      SOA     @       admin.nihao.com. (0  1D  2H   3W  2D)
        IN      NS      ns1
        IN      NS      ns2
ns1     IN      A       192.168.10.18
ns2     IN      A       192.168.10.28
www     IN      A       192.168.10.8

4.5在dns2服务端修改主配置文件

[root@dns2 ~]# cat /etc/named.conf 
options {
        listen-on port 53 { 192.168.10.28; };
        directory       "/var/named";
};
zone "nihao.com" IN {
        type slave;
	masters { 192.168.10.18; };
        file "slaves/nihao.com";
};

4.6检查配置语句

[root@dns1 ~]# named-checkconf
[root@dns1 ~]# named-checkzone nihao.com /var/named/nihao.com
zone nihao.com/IN: loaded serial 0
OK

4.7在两台dns服务端重启服务

[root@dns1 ~]# systemctl restart named

 4.8测试dns解析

dns1:

[root@dns1 ~]# dig -t NS nihao.com @192.168.10.18
[root@dns1 ~]# dig -t A nihao.com @192.168.10.18

dns2:

[root@dns2 ~]# dig -t NS nihao.com @192.168.10.28
[root@dns2 ~]# dig -t A nihao.com @192.168.10.28

5.客户端测试

[root@client ~]# curl www.nihao.com
Very good, you have successfully set up the system.

附:

测试dns解析截图:

dns1:

dns2:

相关文章:

  • K8S之QoS详解
  • oracle 基础知识之 多表查询
  • soul能用ip精准定位吗?ip属地准确吗
  • hot100算法刷题:二叉树的层序遍历
  • Spring Boot 核心知识点深度详解:自动化配置 (Auto-configuration) - 解锁 Spring Boot 的 “魔法”
  • 远程访问家里电脑上部署的Stable diffusion - 免费篇
  • error: Microsoft Visual C++ 14.0 or greater is required解决不需要安装到c盘等
  • Mybatis使用Druid连接池
  • 0x04.若依框架微服务开发(含AI模块运行)
  • Kotlin 中 let 方法的作用和使用场景
  • 人工智能助力家庭机器人:从清洁到陪伴的智能转型
  • ngx_http_conf_ctx_t
  • 【源码分析】Nacos实例注册流程分析-事件驱动框架
  • react实现虚拟列表
  • C#语法基础总结
  • C语言刷题第六章(下)
  • 神策数据接入 DeepSeek,AI 赋能数据分析与智能运营
  • 【华为OD-E卷 -122 字符统计及重排 100分(python、java、c++、js、c)】
  • repo init 错误 Permission denied (publickey)
  • 算法刷题记录——LeetCode篇(4) [第301~400题](持续更新)
  • 视频丨中国海警位中国黄岩岛领海及周边区域执法巡查
  • 坚持科技创新引领,赢得未来发展新优势
  • “ChatGPT严选”横空出世了,“DeepSeek严选”还要等多久?
  • 成都世运会倒计时100天,中国代表团运动员规模将创新高
  • 王毅:妥协退缩只会让霸凌者得寸进尺
  • 开门红背后的韧性密码:上海八大企业的“反脆弱”与“真功夫”