如何管理独立介质文件夹?

时间:2012-01-20 作者:konzepz

使用Git管理Wordpress安装非常棒。我可以通过命令行(使用Capistrano)部署修复程序,简单的回滚计划,主题文件夹是作为子模块添加的独立项目——这似乎是处理Wordpress及其插件快速更新的好方法。

但是,源代码管理不适合处理以下不断增长的上载文件夹wp-content 文件夹

IMHO的解决方案是在我的服务器上为媒体创建一个专用部件,并将其从项目本身中排除。这样,我就可以在一个独立的过程中备份媒体,部署新版本,而无需反复克隆整个300MB文件夹——简而言之,这似乎是一个很好的解决方案。

不过,Wordpress并没有做到这一点。不是现成的。

可能的解决方案:

通过FTP上传文件,并在帖子中使用图像URL(将帖子处理时间延长一倍)

使用第三方图像托管(Flickr、Tumblr)——这会产生我希望避免的依赖性。我希望媒体在我的服务器上,在我的控制下。

还有其他想法吗?如何实现从WP dashboard上传文件的独立媒体文件夹?

3 个回复
最合适的回答,由SO网友:wopr42 整理而成

某种形式的解决方案有效吗?Capistrano: Managing an uploads folder 描述一种在部署时更新符号链接的方法,以避免丢失uploads文件夹。

SO网友:dan9vu

今天就提出这个有趣的问题。这就是我所尝试的:

1. Setup a TLD example.com and a sub domain media.example.com:

Nginx示例:

server_name example.com;
root /var/www/example.com;

server_name media.example.com;
root /var/www/media.example.com;
确保两个站点都可用,并且Nginx可以写入/var/www/media.example.com 目录

2. Filter upload_dir in the example.com site:

您可以将这些代码行用作插件或直接放入主题:

add_filter(\'upload_dir\', function($uploads)
{
  $uploads = array_merge($uploads, [
    \'url\'     => \'http://media.example.com\',
    \'path\'    => \'/var/www/media.example.com\',
    \'baseurl\' => \'http://media.example.com\',
    \'basedir\' => \'/var/www/media.example.com\',
  ]);

  return $uploads;
}, PHP_INT_MAX);
现在,将新媒体文件上载到example.com 地点它应该像你所期望的那样工作。

SO网友:stffn

我想。gitignore将帮助您:

http://help.github.com/ignore-files/

结束