基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
一、引言
在当今数字化的时代,搭建一个稳定、高效的 Web 服务环境是许多开发者和运维人员的常见需求。本文将详细介绍如何利用三台主机搭建一个包含 Nginx、NFS 和 DNS 服务的 Web 环境,包括各服务的配置步骤以及最后的测试环节,希望能对大家有所帮助。
二、环境准备
本次搭建涉及三台主机,各主机的信息如下:
三、NFS 和防火墙端(nfs_firewall)配置
1. 设置主机名并启动防火墙
[root@nfs_firewall ~]# hostnamectl set-hostname nfs_firewall[root@nfs_firewall ~]# systemctl start firewalld
2. 安装 NFS 服务
[root@nfs_firewall ~]# yum install nfs-utils -y
3. 设置共享目录权限
[root@nfs_firewall ~]# ls /afs boot etc lib lost+found mnt proc run sczl sys usrbin dev home lib64 media opt root sbin srv tmp var[root@nfs_firewall ~]# chmod -R 777 /sczl
4. 配置 NFS 共享
[root@nfs_firewall ~]# vim /etc/exports/sczl 192.168.2.131/24(rw,sync,all_squash)
5. 启动 NFS 相关服务
[root@nfs_firewall ~]# systemctl start rpcbind[root@nfs_firewall ~]# systemctl start nfs-server
6. 配置防火墙规则
[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=httpsuccess[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=nfssuccess[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=rpc-bindsuccess[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=mountdsuccess[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=dnssuccess[root@nfs_firewall ~]# firewall-cmd --reloadsuccess
四、Nginx 端(web)配置
1. 安装 Nginx 和 NFS 客户端
[root@web ~]# yum install nginx -y[root@web ~]# yum install nfs-utils -y
2. 配置 Nginx
[root@web ~]# vim /etc/nginx/nginx.conf
在配置文件中添加以下内容:
server { listen 80; listen [::]:80; server_name _; root /www; }
3. 创建挂载目录并挂载 NFS 共享
[root@web ~]# mkdir /www[root@web ~]# mount -t nfs 192.168.2.132:/sczl /www[root@web ~]# cd /www[root@web www]# lscss dingban.mp4 img index.html js temp
4. 配置 DNS 并启动 Nginx
[root@web ~]# nmcli c modify ens32 ipv4.dns 192.168.2.131[root@web ~]# nmcli c reload[root@web ~]# nmcli c up ens32连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)[root@web ~]# systemctl start nginx
五、DNS 端(dns)配置
1. 配置 named.conf
[root@dns ~]# vim /etc/named.conf
在配置文件中添加以下内容:
options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory \"/var/named\"; dump-file \"/var/named/data/cache_dump.db\"; statistics-file \"/var/named/data/named_stats.txt\"; memstatistics-file \"/var/named/data/named_mem_stats.txt\"; secroots-file \"/var/named/data/named.secroots\"; recursing-file \"/var/named/data/named.recursing\"; allow-query { any; };}
2. 配置 named.rfc1912.zones
[root@dns ~]# vim /etc/named.rfc1912.zones
添加以下内容:
zone \"sczl.com\" IN { type master; file \"sczl.com.zone\"; allow-update { none; };};
3. 创建并配置区域文件
[root@dns ~]# cd /var/named/[root@dns named]# lsdata named.ca named.localhost slavesdynamic named.empty named.loopback[root@dns named]# cp -a named.localhost sczl.com.zone[root@dns named]# vim sczl.com.zone
添加以下内容:
$TTL 1D@ IN SOA ns.sczl.com. andy.qq.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.sczl.com.ns.sczl.com. IN A 192.168.2.131www.sczl.com. IN A 192.168.2.130
4. 启动 DNS 服务
[root@dns named]# systemctl start named
六、测试
1. 使用 curl 测试 Web 服务
[root@web ~]# curl www.sczl.com<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><title>FullPage</title>
2. 使用 nslookup 测试 DNS 解析
[root@web ~]# nslookup www.sczl.comServer:192.168.2.131Address:192.168.2.131#53Name:www.sczl.comAddress: 192.168.2.130
在 Windows 系统中修改 DNS 服务器地址
如果你想在 Windows 系统中使用 Linux 上搭建的 DNS 服务器(地址为 192.168.2.131),可以按照以下步骤操作:
- 打开网络连接设置:
- 右键点击任务栏上的网络图标,选择 “打开网络和 Internet 设置”。
- 在设置窗口中,点击 “更改适配器选项”。
- 选择网络连接:
- 找到你正在使用的网络连接(如以太网或 Wi-Fi),右键点击该连接,选择 “属性”。
- 配置 IPv4 DNS 服务器:
- 在 “网络连接属性” 窗口中,选中 “Internet 协议版本 4 (TCP/IPv4)”,然后点击 “属性” 按钮。
- 在弹出的 “Internet 协议版本 4 (TCP/IPv4) 属性” 窗口中,选择 “使用下面的 DNS 服务器地址”。
- 在 “首选 DNS 服务器” 中输入 Linux 上搭建的 DNS 服务器地址:192.168.2.131。
七、总结
通过以上步骤,我们成功利用三台主机搭建了一个包含 Nginx、NFS 和 DNS 服务的 Web 环境。在实际应用中,我们可以根据需要对各个服务进行进一步的优化和扩展。希望本文能为你提供一些帮助,让你在搭建 Web 服务环境时更加得心应手