2012-07-13 42 views
0

我在Linux/Apache下运行的专用服务器上有多个网站。这些网站需要访问doc根目录下名为“DATA”的目录中的常用数据。我无法复制每个网站的这个目录。我想把它放在一个通用目录下(比如/ DATA),并为每个站点的doc根提供一个到这个目录的符号链接。如何让多个网站访问共同目录

WWW/DATA - >/DATA

  1. 是否有这样做的更好的办法?

  2. 如果我把这个通用目录直接放在Linux根目录下,从Linux的角度来看可能会有问题,因为目录大小可能是几千兆字节,而/ DATA下的子目录需要写入权限。

感谢

+0

这个目录是通过网络服务器来访问吗? (例如http://website.com/data/file.zip)或通过文件系统(/data/file.zip)? – 2012-07-13 02:39:42

+0

它将通过文件系统。脚本会将文件加载到此目录并访问此目录以返回内容。 – rpat 2012-07-13 02:48:19

回答

0

使用AliasDirectory指令一起。这将允许该站点通过URL路径访问该目录。

我不知道到底是什么意思,你必须脚本访问目录提供数据。执行shell脚本来读取产品数据完全是另一回事,但如果这是你正在做的事,你可能想避免这种情况。应用程序页面可以包含在数据目录中,并使用相对路径来获取数据。然后所有网站都获得相同的脚本和数据。

我不知道你的数据是什么,但我可能会选择把它放在一个数据库中。想想如果你不得不扩展你的应用程序,你需要如何更新多台机器。也许你所拥有的数据很简单,而且数据库过大。

+0

我确实使用Alias和Directory指令。由于该文件将是文档(例如PDF文件)或媒体(例如,mp3或视频文件),数据库将不是一种选择。目录访问的一个例子是CGI脚本将返回一个媒体文件。我可以将所有文件保存在一个公共目录下,并在每个站点的doc根目录下提供一个符号链接。这会工作。我需要了解是否将此目录直接保存在根目录下,以及是否有更好的替代方法。 – rpat 2012-07-13 04:32:00

+0

将它保留在根目录下可能不是问题,但将它放在/ var下的某处可能更合适。如果您使用符号链接,那么如果您决定更改位置,则会阻止应用程序进行更改。 (你可能需要更多的磁盘空间,并决定将它放在一个新的mount上。)至于权限,我将它命名为root:apache(其中apache是​​适合你的发行版的组名),并将权限设置为640以防止针对CGI脚本无意中修改数据。 – Nathan 2012-07-13 14:25:55