基于三臺主機搭建 Web 服務環境:Nginx、NFS 與 DNS 配置全流程
一、引言
在當今數字化的時代,搭建一個穩定、高效的 Web 服務環境是許多開發者和運維人員的常見需求。本文將詳細介紹如何利用三臺主機搭建一個包含 Nginx、NFS 和 DNS 服務的 Web 環境,包括各服務的配置步驟以及最后的測試環節,希望能對大家有所幫助。
二、環境準備
本次搭建涉及三臺主機,各主機的信息如下:
主機角色 | IP 地址 | 主機名 |
---|---|---|
Web 端 | 192.168.2.130 | web |
DNS 端 | 192.168.2.131 | dns |
NFS 和防火墻端 | 192.168.2.132 | nfs_firewall |
三、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 usr
bin 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=http
success
[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=nfs
success
[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=rpc-bind
success
[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=mountd
success
[root@nfs_firewall ~]# firewall-cmd --permanent --zone=public --add-service=dns
success
[root@nfs_firewall ~]# firewall-cmd --reload
success
四、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]# ls
css 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]# ls
data named.ca named.localhost slaves
dynamic 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 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumIN NS ns.sczl.com.
ns.sczl.com. IN A 192.168.2.131
www.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.com
Server: 192.168.2.131
Address: 192.168.2.131#53Name: www.sczl.com
Address: 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 服務環境時更加得心應手