开发者社区 问答 正文

discuz3.1论坛使用oss存储图片和附件

我的服务器是ECS centos 6.5 32位系统


1.先安装oss ftp工具
https://help.aliyun.com/document_detail/32190.html
安装完毕要启动服务  
用screen命令新建一个窗口启动以后切换出去,这样就可以保证你退出putty以后服务还是运行着的



2.论坛后台设置远程附件
https://help.aliyun.com/document_detail/32191.html?spm=5176.bbsr284996.0.0.cHRFt6
这一步的说明
a3. FTP服务器地址填127.0.0.1 因为你的工具是安装在本台服务器上的
a9.访问域名可以填你自定义的那个访问oss的域名


注意:目录只能填.  不能使用其他的,我测试过了,使用其他的 虽然上传是正常的,但是访问的时候还是访问根目录,我也不知道改哪里,就用根目录算了
说明:附件上传是先上传到服务器,服务器再通过ftp上传到oss,访问的时候就是直接走oss 所以如果你的ecs不和oss在一个内网的话上传也是占用流量的,不过其实也没关系,就上传一次而已



3.把原来论坛里面的附件也上传到oss里面
附件分很多种,最最常见的就是论坛帖子里面的图片和附件了,我说下这个方法吧
先把data/attachment/forum/ 下面的所有文件夹剪切到oss对应的附件目录
然后执行下面的数据库语句
update pre_forum_attachment_0 set remote = '1'; update pre_forum_attachment_1 set remote = '1'; update pre_forum_attachment_2 set remote = '1'; update pre_forum_attachment_3 set remote = '1'; update pre_forum_attachment_4 set remote = '1'; update pre_forum_attachment_5 set remote = '1'; update pre_forum_attachment_6 set remote = '1'; update pre_forum_attachment_7 set remote = '1'; update pre_forum_attachment_8 set remote = '1'; update pre_forum_attachment_9 set remote = '1';
就可以了 再访问的时候就是从oss访问了


对于用户头像等其他地方的图片 暂时不敢弄,怕出问题
https://bbs.aliyun.com/simple/?t271101.html 数据库语句是从这个教程里面看到了,但是这个教程不适用于我的论坛



展开
收起
chainofhonor 2016-07-13 17:32:59 5038 分享 版权
阿里云 AI 助理回答

根据您的描述,您正在尝试在阿里云ECS CentOS 6.5 32位系统上配置一个论坛,使其能够使用OSS作为远程附件存储。您已经完成了OSS FTP工具的安装,并且按照教程设置了论坛后台以支持远程附件上传。这里有几个点需要注意和补充:

  1. 确保OSS FTP工具正确运行

    • 使用screen命令来启动服务是个好方法,这样即使SSH会话断开,服务也能继续运行。如果服务没有正常启动,检查日志文件(通常位于/var/log/目录下或者OSS FTP工具指定的日志路径),找出可能的错误原因。
  2. 关于FTP服务器地址设置

    • 您提到将FTP服务器地址设置为127.0.0.1是正确的,因为OSS FTP工具确实安装在同一台服务器上。
  3. 访问域名与目录问题

    • 如果直接使用根目录(.)导致访问时出现问题,这可能是配置或权限问题。确认OSS FTP工具配置中是否允许从根目录上传及访问文件。如果必须使用特定目录,请确保该目录在OSS bucket中有对应的权限设置,并且论坛的配置也指向了这个确切的目录。
  4. 原有附件迁移至OSS

    • 您采取的方法是先物理移动文件到OSS挂载的本地目录,然后更新数据库标记这些附件为远程存储。这是正确的步骤,但请确保在执行数据库更新前,文件已成功转移到OSS对应位置,避免数据不一致。
  5. 处理其他类型附件(如用户头像)

    • 对于用户头像等其他类型的图片,如果您担心直接操作会导致问题,建议先在测试环境中进行尝试。可以创建一个备份数据库和文件夹,然后在这个安全环境下实践整个迁移流程。一旦验证无误,再应用到生产环境。
  6. 流量和内网传输

    • 您提到了ECS与OSS不在同一内网时,上传会占用外网流量。如果您的ECS实例和OSS位于同一地域,考虑将ECS实例加入到VPC中,并通过VPC内的私有IP访问OSS,这样可以减少外网流量费用并提高传输速度。
  7. 参考教程的适用性

    • 如果您发现某个教程不完全适用于您的论坛系统,可能是因为论坛软件版本、配置差异或教程本身的局限性。建议查阅官方文档或在相关技术社区寻求针对您具体论坛软件的帮助。

最后,如果在实施过程中遇到任何具体的技术难题,不妨详细记录错误信息,然后在阿里云官方论坛、Stack Overflow或其他专业论坛提问,提供足够的上下文信息以便获得更精确的解答。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答