我发现NFS是Drupal文件共享中多服务器设置的最佳方式
有人可以告诉我这是如何运作的。
我有两个Drupal文件服务器连接到第三个服务器中的公共数据库
我还有一个服务器用于文件,我如何将这个使用NFS的Drupal服务器以及NFS如何工作?
当用户从第一个drupal服务器上传文件时,它是在Shared Server中制作副本还是制作
两个drupal服务器中的符号(软)链接,并在共享服务器中添加文件?
有人可以告诉我并传给我一个链接,为我的MultiServer Drupal Setup实现NFS。
答案 0 :(得分:3)
让我们假设Server-A(ip:a.a.a.a)是您要保存文件的服务器,Server-B(ip:b.b.b.b)和Server-C(ip:c.c.c.c)将有drupal。在Server-A中,您可能将文件存储在/ store文件夹中。这将安装到Server-B和Server-c中的文件夹/ mnt / store。
为此,您需要在所有三台服务器上的Server-A和nfs-common和portmap中安装nfs-kernal-server。 NFS依赖于远程过程调用(RPC),并且需要端口映射服务将RPC请求映射到正确的服务。
在Server-A中执行以下配置:
sudo apt-get install nfs-kernel-server portmap nfs-common
sudo mkdir -p /mnt/nfstest
sudo chmod 777 /mnt/nfstest
sudo mount --bind /store /mnt/nfstest
此文件集中的 sudo vi /etc/default/nfs-kernel-server
NEED_SVCGSSD=no
sudo vi /etc/default/nfs-common
:NEED_IDMAPD=yes
和NEED_GSSD=no
sudo vi /etc/idmapd.conf
设置[Mapping]
和Nobody-User = nobody
下的此文件中的 Nobody-Group = nogroup
sudo vi /etc/hosts.deny
添加:portmap mountd nfsd statd lockd rquotad : ALL
sudo vi /etc/hosts.allow
添加:portmap mountd nfsd statd lockd rquotad : b.b.b.b, c.c.c.c
{ipaddresses}
sudo vi /etc/exports
添加:/mnt/nfstest b.b.b.b(rw,sync,no_subtree_check,fsid=0)
和/mnt/nfstest c.c.c.c(rw,sync,no_subtree_check,fsid=0)
sudo exportfs -ra
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
在Server-B和Server-C中执行此操作
sudo apt-get install portmap nfs-common
sudo vi /etc/hosts.deny SET: `portmap : ALL`
sudo vi /etc/hosts.allow
SET:portmap : a.a.a.a
{Server-A的ipaddress}
sudo vi /etc/default/nfs-common
SET:NEED_IDMAPD=yes
和NEED_GSSD=no
sudo vi /etc/idmapd.conf
下添加[Mapping]
和Nobody-User = nobody
下的 Nobody-Group = nogroup
modprobe nfs
mkdir /mnt/store
sudo mount -t nfs4 a.a.a.a:/ /mnt/store