最近いくつか問題が発生しました。プロジェクトは当初複数のサイトを展開しないことを想定しており、アップロードされたファイルなどはローカル マシンのディレクトリに直接設定されていたため、複数のサイトを展開するための共通のファイル サーバーがありませんでした。オンライン nfs でこの問題を解決できる方法を見つけたら、試してみてください。
環境の紹介:
服务器:CentOS 6.4_64 server
ip:10.1.1.52
服务器:CentOS 6.4_64 client
ip:10.1.1.47
nfs をインストールします (両方ともインストールされています)
yum install nfs-utils rpcbind
サーバー構成
1. 共有ディレクトリを作成する
mkdir /home/test
2. NFSファイル構成
vi /etc/exports
次の行を追加します。
/home/test/ 10.1.1.47(rw,no_root_squash,no_all_squash,sync)
使配置生效
exportfs -rv
注: 設定ファイルの説明:
/usr/local/test/ は共有ディレクトリなので、絶対パスを使用します。
NFS_Client_IP (rw、no_root_squash、no_all_squash、sync) は、クライアントのアドレスと権限です。アドレスは、ネットワーク セグメント、IP アドレス、またはドメイン名にすることができます。ドメイン名は、*.youxia.com などのワイルドカードをサポートします。アドレスと権限の間にスペースはありません。権限の説明:
rw: 読み取り/書き込み、読み取り可能
および書き込み可能; ro: 読み取り専用、読み取り専用;
sync: ファイルはハードディスクとメモリに同時に書き込まれます。
async: ファイルはメモリに直接書き込まれるのではなく、一時的にメモリに保存されます;
no_root_squash: NFS クライアントがサーバーへの接続時に root を使用する場合、サーバーによって共有されるディレクトリに対する root 権限も持ちます。これを有効にするのは明らかに安全ではありません。
root_squash: NFS クライアントがサーバーに接続するときに root を使用する場合、サーバーによって共有されるディレクトリに対する匿名ユーザー権限があり、通常、ユーザーは none または nfsnobody の ID を使用します。 all_squash: NFS クライアントがいつ接続するかは関係ありません。
サーバー 使用するすべてのユーザーは、サーバーによって共有されるディレクトリに対する匿名ユーザー権限を持っています;
anonuid: 匿名ユーザーの UID 値 (通常は、nobody または nfsnobody) (ここで設定できます);
anongid: 匿名ユーザーの GID 値。
サーバーを起動します
service rpcbind start
service nfs start
クライアントマウント
1. マウントする必要があるディレクトリを作成します。
mkdir /usr/local/test
2、测试挂载:
showmount -e 10.1.1.52
3、挂载
mount -t nfs NFS_Server_IP:/usr/local/test/usr/local/test
mount
NFS_Server_IP:/usr/local/test on /usr/local/testtype nfs (rw,vers=4,addr= NFS_Server_IP,clientaddr= NFS_Client_IP)
如果信息如上显示则挂载成功!
4、测试:
客户端新建一个文件:
cd /home/test
echo "nfs test">>test.txt
看一下服务端共享目录有此文件吗