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

Web 服务、 Nfs 服务器以及 Dns 服务器综合实验

要求:

1.web 服务的资源文件通过 nfs 服务器共享  www.luntan.com

2.确保所有主机时间同步

3.定义本地 dns 服务器解析 web 主机域名

实验:

主机服务程序
192.168.96.142dns、nfs
192.168.96.132web

服务器说明:

设备      IP
服务端

192.168.96.142

[root@localhost ~]

客户端

192.168.96.132

[root@www ~]

1.确保所有主机时间同步

① 首先检查 chrony 服务是否已经安装(chrony 是在 linux 系统中用于时间同步的守护进程,可以让系统时钟与网络时间协议(NTP)服务器保持同步);在看到已安装后启动该程序
[root@142 ~]# rpm -qa | grep chrony
chrony-4.5-3.el9.x86_64[root@142 ~]# systemctl start chronyd 
② 进入到 chrony 服务配置文件查看指定的 NTP 服务器池
[root@142 ~]# vim /etc/chrony.conf pool 2.rhel.pool.ntp.org iburst
③ 查看 chrony 当前时间源状态,带 * 符号的源表示当前正在使用该服务器进行同步;两个主机的同步的 IP 地址一样说明在 /etc/chrony.conf 中重复配置了 同一个 NTP 服务器
[root@142 ~]# chronyc sourcesMS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- time.cloudflare.com           3   9   377    56    +23ms[  +22ms] +/-  242ms
^+ ntp5.flashdance.cx            2   8   377   370  -2762us[-4281us] +/-  108ms
^+ time.cloudflare.com           3   9   377    56  +3249us[+1772us] +/-  106ms
^* 211.68.71.26                  3   8   373    25    -12ms[  -13ms] +/-   88ms# MS Name/IP address:① ^:表示该源是 NTP 服务器(server)② -:表示未被合并的源③ +:表示被合并到时间计算中的辅助源④ *:表示当前正在同步的主时间源# Stratum:NTP 服务器的层级,数值越小越接近原子钟(2 比 3更精确)# Poll:轮询间隔的对数(6表示 2^6 = 64 秒)# Reach:可达性寄存器(八进制),记录最近 8 次尝试连接的结果(377 表示连续 8 次成功)# LastRx:上次成功接收数据包的时间(秒)# Last sample:最后一次测量的时间偏移量,格式为 调整后偏移 [原始测量值] +/- 误差估计
[root@132 ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- time.cloudflare.com           3   8   377    18   -398us[ -398us] +/-  133ms
^* 211.68.71.26                  2   7   377   122  +1913us[+1105us] +/-  104ms
^- time.cloudflare.com           3   8   377    82    +91ms[  +91ms] +/-  198ms
^+ ntp5.flashdance.cx            2   7   377    85  -5186us[-5186us] +/-  119ms
④ 除却 chronyc sources 查看 chrony 当前时间源状态,timedatectl 同样可以管理系统时间和日期,查看和配置系统时钟、时区以及 NTP 同步状态
[root@142 ~]# timedatectlLocal time: 五 2025-05-23 14:28:07 CSTUniversal time: 五 2025-05-23 06:28:07 UTCRTC time: 五 2025-05-23 06:28:08Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes     # NTP 同步状态NTP service: active  # chrony 或 ntpd 是否运行RTC in local TZ: no      # RTC 是否使用本地时区

2.在142主机上实现 dns 以及 nfs 服务程序

DNS
① rpm 查看 dns 服务程序 bind
[root@142 ~]# rpm -qa | grep bind
② 查看后没有 bind 程序包则进行下载
[root@142 ~]# mount /dev/sr0 /mnt    # 磁盘挂载[root@142 ~]# vim /etc/yum.repos.d/base.repo     # 查看yum源配置是否完整[root@142 ~]# dnf install bind -y     # 下载bind程序包
③ 进入到 bind 配置文件并编辑,其次进入到配置文件中资源文件 named.openlab 中设置 132 主机的 luntan.com
[root@142 ~]# vim /etc/named.conf zone "luntan.com" IN {type master;file "named.openlab";
};

[root@142 ~]# vim /var/named/named.openlab$TTL 1D
@       IN SOA @ rname.invalid. (1       ; serial1M      ; refresh1M      ; retry1M      ; expire3M )    ; minimum                                       NS      ns.openlab.com.ns      A       192.168.96.142www     A       192.168.96.132    ; www.luntan.com   192.168.96.132   web服务器主机wwww    CNAME   wwwftp     A       192.168.96.222mail    A       192.168.96.100
④ 修改完配置文件后重启服务程序
[root@142 ~]# systemctl restart named
⑤ 在 132 主机进行测试
[root@132 ~]# dig -t A www.luntan.com @192.168.96.142

NFS
① 下载 nfs-utils 程序包
[root@142 ~]# dnf install nfs-utils -y
② 进入到 /etc/exports 配置文件并编辑,其次根据配置文件中设置的创建对应的资源文件
[root@142 ~]# vim /etc/exports
/pub  *(rw,sync)# sync:启用同步写入模式;NFS 服务在处理客户端写入请求时,会将数据先写入本地磁盘,再返回确认信息给客户端[root@142 ~]# mkdir /pub
③ 将 Discuz_X3.5_SC_UTF8_20230520 文件(论坛网站开源包文件)传输至 /pub 目录下并进行解压操作
[root@142 ~]# cd /pub[root@142 pub]# 

[root@142 pub]# unzip Discuz_X3.5_SC_UTF8_20230520.zip [root@142 pub]# ll

④ 重启 nfs 服务,由于 nfs 服务启动时每次都会通过 rpc 进行端口注册,所以不建议频繁进行重启操作,只需要进行导出操作即可
[root@142 pub]# exportfs -ra
⑤ 将当前主机挂载的文件系统进行查看,但是我们前面下载完 nfs-utils 后没有启动服务程序,所以先启动 nfs-utils ,在进行挂载系统查看
[root@142 ~]# systemctl restart nfs-server.service[root@142 ~]# showmount -e 192.168.96.142
Export list for 192.168.96.142:
/pub *
⑥ 客户端访问服务端共享系统,需要在客户端建立一个挂载点目录,我们创建为 /www‘接着将服务端的共享文件挂载到客户端的 /www 下,挂在后可查看服务端的共享文件内容
[root@132 ~]# dnf install nfs-utils -y[root@132 ~]# mkdir /www[root@132 ~]# mount 192.168.96.142:/pub /www[root@132 ~]# ll /www

3.在132主机上实现 web 服务器

① 下载 nginx 程序包
[root@132 ~]# dnf install nginx -y
② 通过 nfs 解析网站资源路径下的界面信息,需要自定义一个配置文件
[root@132 ~]# vim /etc/nginx/conf.d/luntan.confserver {listen 80;server_name www.luntan.com;root /www/upload/;location ~* \.(jpg|jpeg|png|gif|css|js)$ {#~* 匹配不区分大小写expires 30d;  # 设置缓存时间access_log off;}# php-fpm  进程调度器location  / {fastcgi_pass   unix:/run/php-fpm/www.sock;fastcgi_index  index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include        fastcgi_params;}
}
③ 解析 php 文件还需要下载 php 解析程序
[root@132 ~]# dnf install php* -y
④ 最后安装数据库程序 mariadb-server 并启动
[root@132 ~]# dnf install mariadb-server -y[root@132 ~]# systemctl restart mariadb
⑤ MySQL/MariaDB 提供一个安全配置脚本,用于初始化数据库安全设置;除了要设置密码以外,其余皆可回车
[root@132 ~]# mysql_secure_installation
⑥ 完成之后登录数据库并创建 luntan 的数据库,创建完成后 exit 退出数据库即可
[root@132 ~]# mysql -uroot -pEnter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.5.22-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> create database luntan;
Query OK, 1 row affected (0.000 sec)MariaDB [(none)]> exit;
Bye
⑦ 同时启用并立即启动三个服务:Nginx(Web 服务器)、MariaDB(数据库)和 PHP-FPM(PHP 处理引擎)
[root@132 ~]# systemctl enable nginx mariadb php-fpm --now
Ⅰ.在 Windows 下测试 luntan
① 在 Windows 系统下登录浏览器,在浏览器中输入 linux 系统中的132主机 IP 地址进入到  Discuz! 安装向导(由于在动态网站 LNMP 文章中有完整的安装过程,这里省略安装过程)

进入到安装向导后我们可以看到文件缺失以及权限不够的问题,我们返回到 linux 中解决这两个问题。注意这里的文件是在服务端(142主机)的共享文件中,所以我们需要在服务端(142主机)修改权限等问题!

[root@142 ~]# cd /pub/upload/   # 将路径切换到upload下[root@142 upload]# ll    # 查看upload下文件名[root@142 upload]# chmod 777 config data uc_* -R    # 修改目录以及该目录下所有文件的权限,以递归的方式

修改完成后返回到 Windows 下刷新页面即可完成检查安装环境

② 安装完成后点击直接访问站点即可进入论坛

Ⅱ.在 Linux 下测试 luntan
① 在132主机客户端修改 dns IP 地址为142主机
[root@132 ~]# vim /etc/resolv.conf # Generated by NetworkManager
search localdomain
nameserver 192.168.96.142
② 进入到浏览器中输入 www.luntan.com 域名即可成功进入到我们的论坛界面,这一步证明我们在142主机配置的 dns 解析没有问题!

http://www.lryc.cn/news/2385555.html

相关文章:

  • 保证数据库 + redis在读写分离场景中事务的一致性
  • 汇编语言的子程序魔法:解锁四则运算的奥秘
  • 快速解决Linux 中yum镜像拉取失败问题
  • C#核心概念解析:析构函数、readonly与this关键字
  • HarmonyOS基础组件:Button三种类型的使用
  • 深入理解设计模式之适配器模式
  • 预训练模型:深度学习的通用特征引擎
  • C++题解(33)2025年顺德区中小学生程序设计展示活动(初中组C++)U560876 美丽数(一)和 U560878 美丽数(二)题解
  • 产业互联网+三融战略:重构企业增长密码
  • centos yum源,docker源
  • 通过设备节点获取已注册的 i2c client
  • Centos系统资源镜像配置
  • 【Linux网络篇】:Socket网络套接字以及简单的UDP网络程序编写
  • 学习路之uniapp--unipush2.0推送功能--给自己发通知
  • Java面向对象 一
  • 怎么开发一个网络协议模块(C语言框架)之(二) 数据结构设计
  • 30天自制操作系统day5(vram和显存)(GDT和IDT)(c语言结构体)(汇编-c)(ai辅助整理)
  • 【音频】drc 限幅器、多带限幅器、压缩器、多带压缩器
  • leetcode hot100刷题日记——12.反转链表
  • osgEarth中视角由跟随模式切换到漫游模式后没有鼠标拖拽功能问题分析及解决方法
  • STM32中断优先级分组有哪几种?
  • 《Python语言程序设计》第4章第8题3个个位数之间比大小。‘a小于b而b大于c’这是最有漏洞的一个对比,请问我如何判断a和c
  • Selenium 测试框架 - Python
  • RNN GRU LSTM 模型理解
  • AutoCompose - 携程自动编排原理 -【编排关系DAG的构建】
  • 【MC】红石比较器
  • 危化品经营单位安全生产管理人员考试主要内容
  • get_the_category() 和 get_the_terms() 的区别
  • 红黑树简单模拟实现
  • 豪越科技:消防应急装备智能仓储管理新变革