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

发布于:2025-05-25 ⋅ 阅读:(14) ⋅ 点赞:(0)

要求:

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

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

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

实验:

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

服务器说明:

设备       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 sources

MS 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 ~]# timedatectl

               Local time: 五 2025-05-23 14:28:07 CST
           Universal time: 五 2025-05-23 06:28:07 UTC
                 RTC time: 五 2025-05-23 06:28:08
                Time 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       ; serial
                                        1M      ; refresh
                                        1M      ; retry
                                        1M      ; expire
                                        3M )    ; minimum                                       
        NS      ns.openlab.com.

ns      A       192.168.96.142

www     A       192.168.96.132    ; www.luntan.com   192.168.96.132   web服务器主机

wwww    CNAME   www

ftp     A       192.168.96.222

mail    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.conf

server {
        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 -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.5.22-MariaDB MariaDB Server

Copyright (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 解析没有问题!


网站公告

今日签到

点亮在社区的每一天
去签到