回到首頁
Draft EDIT
My Google
 
2010年4月8日星期四

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




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

熱門文章 :

加入書籤 :

0意見

張貼意見

  • 歡迎您的留言
  • 這個部落格是 nofollow Free 的喔 ~~