首頁 > linux > Apache 及 nfs 的運用簡單分享

Apache 及 nfs 的運用簡單分享

當web server在一台不敷使用的情況下, 擴充第二台, 第三台 server ,

如果每台 server 都有各自的檔案, 這樣當我們更新時, 不就要更新三台,

如果有 n 台 server 呢?

更新到…….天昏地暗, NFS 就是這個問題的解決方式 ~ 讓 apache

的 DocumentRoot 可以是同一個的 ~

此文也會提到出現 httpd.conf: DocumentRoot must be a directory 怎麼解決喔 ~

以下就來簡單分享一下

首先先定義出那一台 server 為 nfs 的 server , 我們就先建立 NFS server

Ubuntu 需要 nfs-common 及 nfs-kernel-server 可以用以下的方式安裝

sudo apt-get install nfs-common nfs-kernel-server

Fedora 12 需要 nfs-utils 可以用以下的方式安裝

yum install nfs-utils

安裝好了以後呢 ~ 定義那些資料夾要分享


在 /etc/exports 裡定義出要分享的夾如下

/var/www/html 192.168.0.0/24(rw,sync,no_root_squash,subtree_check)

紅色的部分你可以自己定義, 後面是詳細的權限設定, 這邊就不多說了

這樣就可以啟動 nfs server 囉


Ubuntu
sudo /etc/init.d/nfs-kernel-server start

Fedora
service nfs start

可以透過以下指令來看看有沒有掛載成功

showmount -e localhost

看到以下這樣就是掛載成功囉

Export list for localhost:
/var/www/html 192.168.0.0/24

再來就是讓 nfs client 掛載 nfs server 的夾

showmount -e 192.168.0.4 (紅色部份是 server ip ) 這樣可以看到 nfs server 掛載了那些東西

以下指令就可以把 nfs server 上的東西, 在 client 上掛載起來囉 ,

mount -t nfs 192.168.0.4:/var/www/html /var/www/html

好了以後就可以到 /var/www/html 看看, 兩台機器的檔案內容是否都一樣 ~

再來重啟 apache , 就成功囉 ~~
如果出現 httpd.conf: DocumentRoot must be a directory
那是 Selinux 的問題 ~ 把 Selinux 關掉就可以囉 ~


#vi /etc/selinux/config
將 SELINUX=disabled 存檔重開機即可

也可以用setsebool 來解決
setsebool -P httpd_disable_trans 1

問題來了, 如果重新開機後要怎樣自動掛載

vi /etc/fstab
192.168.0.4:/var/www/html /var/www/html nfs nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 0 0

這樣重開機 client 就是自動去掛載 nfs server 的夾囉 ~

好文幫推 :

本站文章歡迎您原文引用, 還請您標示原出處喔 !!

引用網址 :

Categories: linuxTags:
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。