使用php的网络文件系统上的images / videos / mp3s

|| 我进行了一些Google搜索,但似乎找不到我想要的东西。我正在设计我的网站以使用MYSQL,PHP Web服务器。到目前为止,已经计划了多个带有负载平衡器的Web服务器和一个用于扩展的MySql Custer。但是后来我进入了图像/视频/ mp3。我需要一个文件系统,多个服务器可以从中读取文件或向中写入文件。因此,一台Web服务器可以运行MySQL,网络文件系统和Web服务器,但是随着站点的扩展,站点可以切换到多台服务器。有没有人提供任何示例,教程或资源来帮助我呢?该站点在Ubuntu服务器上运行。我最初的想法是仅将图像存储在MySQL中(我知道该怎么做并有可用的示例),以便所有服务器都可以读取/写入,但是其他人告诉我,这是一个坏主意,我应该使用文件系统(但不要\我不想使用本地网站,因为我认为大型网站不适合使用本地网站)。     
已邀请:
我想到了三个系统-Mogilefs,Mongodb GridFS和基于云的存储解决方案。 MogileFS(OMG文件!)是为Livejournal开发的,并将元数据存储在Mysql中。它使用它来查找具有适当文件的实际磁盘并将其流式传输出去。 MongoDB GridFS较新,并且可能更容易上手,当然对于较小的系统而言。它使用新的\'NoSql \'数据库在其数据库中存储文件的一部分,并按要求进行组装。搜寻信息会发现很多信息。 最后,您可以避免整个问题,只需将图像上传到Amazon的S3或Rackspace Cloudfiles中即可。我之前已经做过后者(尽管该站点已经在Rackspace的系统中运行),但并不是很困难,这里又有很多示例。 对于S3,还有一个命令行工具s3cmd,可以将其设置为同步(或更好)上载,然后将充满文件的目录删除到S3 \'bucket \'中。     
由于最大大小限制,使用MySQL确实不可能先存储图像/大文件 引用此答案为MySQL选择数据类型?   MySQL无法处理任何大于max_allowed_pa​​cket(默认值:1M)大小的数据,除非您在服务器端构造了复杂且占用大量内存的解决方法。这进一步限制了使用类似TEXT / BLOB的类型可以执行的操作,并且通常使LARGETEXT / LARGEBLOB类型在默认配置中无效。 现在,为了实现存储和升级兼容性,为什么不将它们存储在NAS或Raid系统上,您可以继续将驱动器固定在其中。然后在您的数据库中只存储文件的路径。至少会占用大量数据库资源,并且可以实现不错的可伸缩性。     

要回复问题请先登录注册