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

搭建主从服务器

任务需求

客户端通过访问 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      ns1IN      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:

相关文章:

搭建主从服务器

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

jenkins 配置邮件问题整理

版本:Jenkins 2.492.1 插件: A.jenkins自带的, B.安装功能强大的插件 配置流程: 1. jenkins->系统配置->Jenkins Location 此处的”系统管理员邮件地址“,是配置之后发件人的email。 2.配置系统自带的邮件A…...

Scala语言的计算机基础

Scala语言的计算机基础 计算机科学是一门极具挑战性和创造力的学科,其中编程语言是连接人类与计算机的桥梁。Scala(特指可扩展语言)作为一种现代编程语言,其设计初衷是为了简化软件开发过程,并结合了面向对象和函数式…...

定义模型生成数据表

1. 数据库配置 js import { Sequelize, DataTypes } from sequelize; // 创建一个 Sequelize 实例,连接到 SQLite 数据库。 export const sequelize new Sequelize(test, sa, "123456", { host: localhost, dialect: sqlite, storage: ./blog.db })…...

JVM中常量池和运行时常量池、字符串常量池三者之间的关系

文章目录 前言常量池(Constant Pool)运行时常量池(Runtime Constant Pool)字符串常量池(String Literal Pool)运行时常量池和字符串常量池位置变化方法区与永久代和元空间的关系三者之间的关系常量池与运行…...

KV 缓存简介

以下是关于 KV缓存(Key-Value Cache) 的简介,涵盖其定义、原理、作用及优化意义: 1. 什么是KV缓存? KV缓存 是Transformer架构(如GPT、LLaMA等大模型)在自回归生成任务(如文本生成&…...

Mysql篇——SQL优化

本篇将带领各位了解一些常见的sql优化方法,学到就是赚到,一起跟着练习吧~ SQL优化 准备工作 准备的话我们肯定是需要一张表的,什么表都可以,这里先给出我的表结构(表名:userinfo) 通过sql查看…...

算法基础 -- ARM 体系架构设计专家的算法提升目标

算法提升目标:ARM 体系架构设计专家 1. 位运算优化 相关 ARM 知识点:SIMD、NEON、SVE、低功耗优化、加密计算、数据压缩 推荐题目: 136. 只出现一次的数字(异或运算)190. 颠倒二进制位(位反转,ARM rbit…...

不同开发语言对字符串的操作

一、字符串的访问 Objective-C: 使用 characterAtIndex: 方法访问字符。 NSString *str "Hello, World!"; unichar character [str characterAtIndex:0]; // 访问第一个字符 H NSLog("%C", character); // 输出: H NSString 内部存储的是 UTF-16 编…...

Oracle Linux Server 7.9安装fail2ban

yum search oracle-epel-release yum install oracle-epel-release-el7 search fail2ban yum install fail2ban nano /etc/fail2ban/jail.d/00-firewalld.conf # defalut这里是设定全局设置,如果下面的监控没有设置就以全局设置的值设置。 [DEFAULT] # 用于指定哪…...

FPGA|Verilog-SPI驱动

最近准备蓝桥杯FPGA的竞赛,因为感觉官方出的IIC的驱动代码思路非常好,写的内容非常有逻辑并且规范。也想学习一下SPI的协议,所以准备自己照着写一下。直到我打开他们给出的SPI底层驱动,我整个人傻眼了,我只能说&#x…...

Windows11 新机开荒(二)电脑优化设置

目录 前言: 一、注册微软账号绑定权益 二、此电脑 桌面图标 三、系统分盘及默认存储位置更改 3.1 系统分盘 3.2 默认存储位置更改 四、精简任务栏 总结: 前言: 本文承接上一篇 新机开荒(一) 上一篇文章地址&…...

关于deepseek R1模型分布式推理效率分析

1、引言 DeepSeek R1 采用了混合专家(Mixture of Experts,MoE)架构,包含多个专家子网络,并通过一个门控机制动态地激活最相关的专家来处理特定的任务 。DeepSeek R1 总共有 6710 亿个参数,但在每个前向传播…...

揭秘大数据 | 9、大数据从何而来?

在科技发展史上,恐怕没有任何一种新生事物深入人心的速度堪比大数据。 如果把2012年作为数据量爆发性增长的第一年,那么短短数年,大数据就红遍街头巷尾——从工业界到商业界、学术界,所有的行业都经受了大数据的洗礼。从技术的迭…...

使用Dependency Walker和Beyond Compare快速排查dll动态库损坏或被篡改的问题

目录 1、问题描述 2、用Dependency Walker工具打开qr.dll库,查看库与库的依赖关系以及接口调用情况,定位问题 3、使用Beyond Compare工具比较一下正常的msvcr100d.dll和问题msvcr100d.dll的差异 4、最后 C软件异常排查从入门到精通系列教程&#xff…...

3.14学习总结 排序算法

插入排序&#xff1a; 1.直接插入排序 维护一个有序区&#xff0c;把元素一个个插入有序区的适当位置&#xff0c;直到所有元素都有序为止。 for (int i 0;i < n - 1;i) {//升序int end i;int temp k[end 1];while (end > 0) {if (temp < k[end]) {k[end 1] …...

Hadoop、Spark、Flink Shuffle对比

一、Hadoop的shuffle 前置知识&#xff1a; Map任务的数量由Hadoop框架自动计算&#xff0c;等于分片数量&#xff0c;等于输入文件总大小 / 分片大小&#xff0c;分片大小为HDFS默认值128M&#xff0c;可调 Reduce任务数由用户在作业提交时通过Job.setNumReduceTasks(int)设…...

本地部署 RAGFlow - 修改默认端口

本地部署 RAGFlow - 修改默认端口 1. 前提条件2. 部署 RAGFlow 1. 前提条件 确保 vm.max_map_count 不小于 262144&#xff1a; 如需确认 vm.max_map_count 的大小&#xff1a; sysctl vm.max_map_count如果 vm.max_map_count 的值小于 262144&#xff0c;可以进行重置&…...

repo init 错误 Permission denied (publickey)

一、已经生成ssh-key并设置到gerrit上 二、已经设置.gitconfig &#xff08;此步骤是公司要求&#xff0c;设置gerrit地址为一个别名之类的&#xff0c;有的公司不需要&#xff09; 然后出现下面的错误&#xff0c;最后发现忘记设置git的用户名和邮箱 1. git config --globa…...

Django settings.py 文件全解析

本篇详细介绍 Django settings.py 文件各个配置项的教程&#xff0c;涵盖核心配置项的作用及最佳实践 一、基础配置 1. ​BASE_DIR BASE_DIR Path(__file__).resolve().parent.parent​作用&#xff1a;项目根目录路径&#xff0c;用于构建其他路径&#xff08;如模板、静态…...

TSB - AD 解读 — 迈向可靠、透明的 TSAD 任务

目录 一 文章动机 二 TSAD 领域内的两类缺陷 三 数据集的构建 四 实验结果及结论 项目宣传链接&#xff1a;TSB-AD 代码链接&#xff1a; TheDatumOrg/TSB-AD: TSB-AD: Towards A Reliable Time-Series Anomaly Detection Benchmark 原作者解读&#xff1a;NeurIPS 2…...

下载 CSS 文件阻塞,会阻塞构建 DOM 树吗?会阻塞页面的显示吗?

下载 CSS 文件会对页面的渲染过程产生影响&#xff0c;具体是否阻塞 DOM 树的构建和页面的显示&#xff0c;取决于浏览器的渲染机制。 1. CSS 文件下载是否会阻塞 DOM 树的构建&#xff1f; 一般情况下&#xff0c;CSS 文件下载不会阻塞 DOM 树的构建&#xff1a; DOM 树的构建…...

6个月的Go语言学习甘特图路线图 从零基础到项目实战

以下是为期6个月的Go语言学习甘特图&#xff08;2025年4月-2025年10月&#xff09;&#xff0c;包含详细阶段划分、对应资源及项目产出文档说明&#xff1a; #mermaid-svg-yQbkZCpCAXv6iXKC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fi…...

论文阅读:2023-arxiv Can AI-Generated Text be Reliably Detected?

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 文章目录 Abstract&#xff08;摘要&#xff09;1 Introduction&#xff08;引言&#xff09;Conclusion&#xff08;结论&#xff09; Can AI-Generated Text be Reliably D…...

查看IP地址/Ping 命令

目录 Windows Linux macOS Ping 命令 Windows 使用终端&#xff1a; 按下 Win R 键&#xff0c;打开“运行”对话框&#xff0c;输入 cmd 并按 Enter。 在命令提示符中输入 ipconfig&#xff0c;按 Enter。系统会显示网络适配器的详细信息&#xff0c;包括 IPv4 地址、子…...

Language Models are Few-Shot Learners,GPT-3详细讲解

GPT的训练范式&#xff1a;预训练Fine-Tuning GPT2的训练范式&#xff1a;预训练Prompt predict &#xff08;zero-shot learning&#xff09; GPT3的训练范式&#xff1a;预训练Prompt predict &#xff08;few-shot learning&#xff09; GPT2的性能太差&#xff0c;新意高&…...

鸿蒙编译框架@ohos/hvigor FileUtil用法

ohos/hvigor FileUtil用法 在鸿蒙&#xff08;HarmonyOS&#xff09;开发中&#xff0c;ohos/hvigor 的 FileUtil 是用于文件操作的实用工具类&#xff0c;提供了跨平台的文件读写、路径处理等常用方法。以下是其核心用法和示例&#xff1a; 一、核心方法说明 方法名功能描…...

Hoppscotch 开源API 开发工具

Hoppscotch 是一个开源的 API 开发工具&#xff0c;旨在为开发者提供一个轻量级、快速且功能丰富的 API 开发和调试平台。以下是对其主要特性和功能的详细介绍&#xff1a; 1. 轻量级与高效 Hoppscotch 采用简约的 UI 设计&#xff0c;注重易用性和高效性。它支持实时发送请求…...

Infura 简介

文章目录 Infura 简介Infura 的主要功能Infura 的替代方案&#xff08;类似服务&#xff09;AlchemyQuickNodeAnkrMoralisPocket Network 什么时候选择 Infura&#xff1f; Infura 简介 Infura 是一个 区块链基础设施即服务&#xff08;BaaS, Blockchain as a Service&#xf…...

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…...