最近在做架構時,分離出來一台圖片服務器,圖片服務器是通過NFS(網絡文件系統)給兩台web服務器提供圖片存儲的,在編輯NFS配置文件(/etc/exports)時:想了一下,允許訪問NFS共享目錄的范圍用“*”范圍太大,不安全;於是想到了定義一個兩台web服務器所在的網段來訪問NFS服務,其他任何都無權掛載訪問,特編輯NFS配置文件(/etc/exports)內容如下:
/data/bbs 192.168.0.%(rw,sync,no_root_squash,no_all_squash)
保存退出!啟動NFS服務:service rpcbind start
service nfs start
在客戶端掛載出現錯誤:
mount.nfs: access denied by server while mounting 192.168.0.113:/data/bbs
/data/bbs 192.168.0.*(rw,sync,no_root_squash,no_all_squash)
再次保存退出!重新啟動NFS服務:service rpcbind start
service nfs start
再次在客戶端掛載還是出現同樣的錯誤:
mount.nfs: access denied by server while mounting 192.168.0.113:/data/bbs
在服務器本地也掛載試了下,也是同樣的錯誤,錯誤同上,這時讓錯誤折騰的有點暈乎,服務器本地掛載不成功,肯定是配置文件配置的不對,沒有想到而已。
為了這個錯誤,找人咨詢,自己網上查,有說是權限問題,有說是NFS配置文件問題,看系統日志,沒有明顯錯誤提示,這時靜下心來想了想,以前做NFS時,定義網段是這樣定義的,記得不太清楚,是不是下面這樣的,抱着試一試的態度:
/data/bbs 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
再次保存退出!重新啟動NFS服務:service rpcbind start
service nfs start
再次在客戶端掛載,奇跡般的成功了,沒有出現錯誤。
這時打開論壇,試着發貼,沒有問題,上傳圖片自動保存時,提示圖片無法保存,郁悶了………
又是一頓修改NFS配置文件,不管怎么修改,都不行,還是一樣,上傳圖片自動保存時,提示圖片無法保存。沒辦法,網上找解決方法,一大堆,問別人也說說不好。這時候想起以前做NFS實驗時是照着書上做的,沒有任何錯誤,就成功了,翻開書看了看是這樣操作的:
1.分別在NFS服務器上和客戶端上添加同樣的用戶,並指定用戶uid為一樣的,同時設置該用戶不能登錄系統
useradd -u 505 www -M -s /sbin/nologin(分別在NFS服務器和客戶端上面都創建指它uid號的用戶)
2.分別在NFS服務器上和客戶端上創建同樣的掛載目錄
mkdir /data/{bbs,blog,cms},客戶端的掛載目錄可以賦予web程序運行時的屬主用戶,用戶組,服務器端不用改變NFS共享目錄的屬主用戶,用戶組
3.給NFS服務器上創建的共享目錄賦予所有用戶的寫權限
chmod a+w -R /data
4.在NFS服務器上編輯NFS服務配置文件(/etc/exports),內容如下:
/data/bbs 192.168.0.0/24(rw,sync,no_root_squash)
保存退出!重新啟動NFS服務:service rpcbind start
service nfs start
5.在客戶端上再次重新卸載,掛載后,打開論壇,發貼上傳圖片,成功了,哈哈!
6.在客戶端上設置開機自動掛載:
echo "192.168.0.113:/data/bbs /data/bbs nfs default 0 0" >>/etc/fstab