我有两个运行 debian lenny 的 linode VPS,我想将其中一个用作我的生产服务器,另一个用作静态媒体(nginx)。
我的生产服务器上有一个 django 管理员设置。有人建议我mount
通过某些文件服务器( samba、nfs、ssh-fs )挂载我的静态服务器。挂载后,我将使用挂载路径作为upload_to
生产机上文件上传的设置。
由于我以前从未这样做过,有人能告诉我应该使用哪个文件服务器以及如何开始吗?也许能给我一些提示,告诉我哪些该做,哪些不该做?
我希望获得以下方面的建议:
- 我应该使用哪一个文件系统?
- 我该如何处理断开的连接?
- 如何让生产服务器安装静态服务器?我需要使用哪种类型的身份验证?
答案1
NFS 将是最简单的。Samba 是 Windows 文件共享的一个端口,因此它的配置更复杂、更繁琐,但对于 Linux->Linux 共享来说,没有太大的好处。我不知道 SSH-FS,我认为如果你想要加密服务器之间的流量,它会很好,但由于它将被发送到互联网,这可能没有任何好处。
设置 NFS 就是安装软件包,在媒体服务器上,您需要“导出”包含所有媒体的文件夹(将其放入 /etc/exports),在客户端上,您需要创建一个您想要访问媒体的文件夹,并将共享挂载到该文件夹(并将其放入 /etc/fstab 以便它自动挂载)。
http://www.debianhelp.co.uk/nfs.htm
http://www.crazysquirrel.com/computing/debian/servers/nfs.jspx
什么类型的身份验证?“NFS 太旧了,它实际上没有用户名和密码,它只是基于机器和 IP”的身份验证。使用内部 IP 地址,而不是公共 IP 地址(我假设您在使用 Linode 的机器之间建立了一个私有网络?)。
至于如何处理断开的连接,我不知道 - 我会先尝试一下,并期望不会出现断开的连接,如果确实出现,也许会触发卸载/重新安装或向您发送电子邮件警报。如果您有服务器监控系统来发现问题,请与该系统配合使用。
如果情况确实如我所述,那么 NFS 共享将位于两台服务器之间的私有网络上,因此互联网上没有人可以攻击它,Linode 服务器也没有人可以攻击它 - 这可能值得检查。如果您有 IPTables / 软件防火墙,则需要更新它们以允许 NFS 通过,快速 Google 建议 Lenny 默认安装了 SELinux,因此如果它在看起来应该工作时却神秘地不工作,请检查 /var/log/secure(或类似文件)以查找与 selinux 相关的拒绝消息。