如何实现论坛中的远程附件功能-阿里云开发者社区

开发者社区> 笑傲江湖lcx> 正文

如何实现论坛中的远程附件功能

简介: 目前Discuz论坛、phpwind论坛、Wordpress个人网站等都支持远程附件功能。将附件远程存储到oss后,用户访问附件时将直接从oss下载,一方面可以减少网站的流量,同时附件本身的可用性也将提高。
+关注继续查看

背景

网站远程附件功能是指将用户上传的附件直接存储到远端的存储服务器,一般是通过FTP的方式存储到远程的FTP服务器。目前Discuz论坛、phpwind论坛、Wordpress个人网站等都支持远程附件功能。

将附件远程存储到oss后,用户访问附件时将直接从oss下载,一方面可以减少网站的流量,同时附件本身的可用性也将提高。

一、下载并运行OSS FTP

OSS FTP工具是一个特殊FTP server, 它接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作,从而使得您可以基于FTP协议来管理存储在OSS上的文件。

下载OSS FTP

注意,由于windows不会默认安装Python2.7, 所以安装包中包含了Python2.7, 免去您python安装配置的麻烦,解压即可使用。

由于Linux/Mac系统默认会安装python2.7或python2.6,所以安装包中不再包含可执行的python, 只包含了相关依赖库。

运行OSS FTP

首先解压之前下载的文件,然后根据环境情况选择不同的运行方式

  •  windows: 双击运行start.vbs即可
  •  Linux: 打开终端,运行 bash $ bash start.sh
  •  Mac: 双击start.command,或者在终端运行 bash $ bash start.command

上述步骤会启动一个FTP server, 默认监听在127.0.0.1的2048端口。

同时,为了方便您对FTP server的状态进行管控,还会启动一个web服务器,监听在127.0.0.1的8192端口。

二、网站远程附件设置

下面以Wordpress为例,介绍如何将附件通过OSS FTP工具远程存到oss。

准备工作

申请OSS账号,并且创建一个 public-read 的bucket。这里需要权限为public-read是因为后面需要匿名访问。

详细步骤

wordpress本身是不支持远程附件功能的,但是可以通过第三方的插件来做远程附件。作者所用wordpress版本为 4.3.1 , 所用插件为 Hacklog Remote Attachment ,以下为具体设置步骤

  •  登录wordpress站点,选择安装插件,搜关键词FTP,选择 Hacklog Remote Attachment 安装
  •  设置

      1. FTP服务器地址, 即运行ossftp工具的地址,一般填 127.0.0.1 即可
      2. FTP服务的端口号,默认为 2048
      3. FTP登录用户名,格式为“ AccessKeyID/BukcetName ”,注意这里的' / '不是' 或 '的意思
      4. FTP的登录密码,为 AceessKeySecrete 关于AccessKeyID和AceessKeySecrete的获取,可以登录阿里云控制台的Access Key管理进行查看
      5. FTP超时时间, 默认设置为30秒即可
      6. 远程基本URL填 http://BucketName.Endpoint/wp这里测试所用bucket为test-hz-jh-002, 属于杭州区域的,所以这里填写的是http://test-hz-jh-002.oss-cn-hangzhou.aliyuncs.com/wp
      7. FTP远程路径, 填wp表示所有附件都会存储在bucket的wp目录下注意6和7要对应起来
      8. HTTP远程路径, 填.即可 

具体信息见下图的配置

41f5e5da1953d435c13a5b45506378ce6864bd1b

验证

设置好之后,点击保存的同时,会做测试,测试结果会在页面上方显示,如下图所示表示测试成功

087585fb94227e7049e1858a57602a00f758ef09

发布新文章, 并插入图片

现在开始写一篇新文章,并测试远程附件。创建好文章后,点击添加媒体来上传附件

0762d75600af80e1b1319b5eaaaaeae8268a6d7e


上传附件如下图所示

086e12c30dac636a88ae265ea2949fc190d554b3


上传完附件,点击发布,即可看到文章了



057e1d0f590551f9ec4db9eded313b64df689bcc

 

右键点击图片,通过新建链接来打开图片即可看到图片的URL如下图所示

f7216485d2251b159fb114c971fec1da80e58fb7

通过图片的URL,我们可以判定图片已经成功上传到了OSS

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
syslog的远程日志功能试用
类别:linux 作者:臭豆腐[trydofor] 来源:www.trydofor.com 日期:2006-08-22 授权:署名-非商业-保持一致 1.0 协议 声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。
810 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4440 0
如何实现网站的登录功能
如何实现网站的登录功能http://www.bieryun.com/4623.html 我记得我刚刚学习基本PHP的时候,我正在尝试创建一个基本的网站。除了一件事,我还想到了其他一切。我想在我的网站上实现登录功能,我不知道该怎么做。
1978 0
36
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载