我的目标是使用 Google Drive 存储使用 Fuse 的 Wordpress 多站点的媒体文件,到目前为止,我能够以 root 身份使用 google-drive-ocamlfuse 安装 Google Drive。我可以将 Google Drive 安装为 /mnt/google-drive 并以 root 身份执行 cp、rm、mkdir、编辑文件等,但无法更改文件 suid/guid。
我将目录内容从 /wordpress/wp-content/uploads cp -R 到 /mnt/google-drive/wordpress/wp-content/uploads,然后将原始 uploads/ 文件夹 mv 到 uploads.original/,这样我就可以创建一个符号链接:
ln -s /mnt/google-drive/wordpress/wp-content/uploads 上传
当我尝试通过 Wordpress 中的“上传新媒体”上传文件时,出现错误:
“3.jpg” 因错误上传失败,无法创建目录 wp-content/uploads/sites/6/2013/10。其父目录是否可由服务器写入?“
我尝试使用 -o allow_other,但无济于事。Google Drive 上文件的 suid/guid 都是 root:root,我猜这就是 Wordpress 无法写入它的原因。我也尝试使用 -o uid 和 gid 标志,但它不会改变 Google Drive 上生成的文件或目录权限。
对于我能做什么,有什么建议吗?
答案1
使用
WP-Stateless plugin
从 Google Cloud Storage 存储桶提供 Wordpress 媒体文件。您可以将 GCS 存储桶用作备份、CDN,或让媒体文件直接且完全脱离 GCS 提供,即“无状态模式”,其中不会将任何媒体文件保存在服务器的持久磁盘上。
将挂载的 GCS 存储桶作为传统文件系统运行存在一些限制。首先,延迟是一个问题你会缺少传统文件系统功能例如重命名或权限修改。George 在这里介绍了一些细节:有人在生产中使用“Google Cloud Storage Fuse”吗?