首页 > 其他分享 >如何实现论坛中的远程附件功能

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

时间:2023-09-16 10:35:13浏览次数:39  
标签:FTP 0.1 OSS oss 论坛 附件 远程

简介: 目前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。

 

标签:FTP,0.1,OSS,oss,论坛,附件,远程
From: https://www.cnblogs.com/outrun/p/17706375.html

相关文章

  • 阿里云远程附件OSS设置
    一、登录阿里云账号,进入控制面板,打开“对象存储OSS”二、点击页面左上角的新建按钮,新建存储空间三、填写Bucket名称,读写权限那里选择“公共读”,然后“确定”提交四、选择刚创建的Bucket,点击对应的“域名管理”,绑定用户域名,五、这里我们以images.znanews.com为例,选择“自动添加CNAM......
  • 如何使用华为云对象存储OBS托管Discuz!论坛图片和附件
    Discuz!论坛默认支持通过FTP的方式上传远程附件,自然能够想到在S3fs的基础上,加上一个简单的FTP服务器(无须对公网开放FTP端口)。总体是这么个架构:这里以CentOS7下的vsftpd为例安装vsftpd:-------------这里是重点------------为了让桶中的文件可以让用户直接访问到,需要修改桶......
  • obs上传文件到服务器,附件同步到华为云OBS存储备份实践(服务端API应用)
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingGrapeCity.Forguncy.ServerApi;usingOBS;usingOBS.Model;namespaceFileToHuaweiOBS{publicclassFileToHuaweiOBS:Forgunc......
  • Pycharm远程连接到服务器运行错误can‘t open file ‘tmp
    Pycharm远程连接到服务器运行错误can‘topenfile‘/tmp/.../a.py‘:[Errno2]Nosuchfileordirectory问题描述win11Pycharm+Linux服务器,运行代码后显示上述错误。即linux环境中没有xx文件。分析:python默认到/tmp/下去找代码并执行,但x.py文件根本不再tem路径下。即......
  • vs 远程调试工具2019 2020 ,visual studio
    https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2022#download-and-install-the-remote-tools这个是唯一的方法,如果是非最新的版本,就必须这样这是具体vs2019远程工具下载地址https://download.visualstudio.microsoft.com/download......
  • 远程桌面连接不上怎么办
    场景描述:我用win10系统的机子远程win服务器时出现下面报错信息 解决思路有三种解决思路,分别是一、解决步骤如下:1、首先按下WIN+R,然后输入gpedit.msc并点击确定,打开本地组策略编辑器。  2、然后在左侧栏中依次选择管理模板→系统→凭据分配,再在右侧栏中双击打开加密Or......
  • 解决方案| anyRTC远程检修应用场景
    背景在这个科技飞速发展的时代,各行各业都要求高效运转。然而,当出现问题时,我们却常常因为无法及时解决而感到困扰,传统解决问题的方式是邀请技术人员现场解决问题,如果技术人员解决不了,还要邀请专家从其他城市到现场解决,这中间会流失很多时间,影响生产效率。现在,anyRTC推出一站式远程......
  • 远程调试设备如何实现?有什么好处?
    PLC远程调试是通过远程连接的方式对可编程逻辑控制器PLC进行调试的操作,以避免出差现场维护,可以快速解决异地PLC运行过程中出现的问题,实现远程上下载程序等。为提升工作效率与便捷性,数之能提供PLC远程调试平台,可以接入多种PLC进行调试工作。 1、网络连接:确保PLC设备与远程电脑通过......
  • 解决方案| anyRTC远程检修应用场景
    背景在这个科技飞速发展的时代,各行各业都要求高效运转。然而,当出现问题时,我们却常常因为无法及时解决而感到困扰,传统解决问题的方式是邀请技术人员现场解决问题,如果技术人员解决不了,还要邀请专家从其他城市到现场解决,这中间会流失很多时间,影响生产效率。现在,anyRTC推出一站式远......
  • scp、ssh访问远程机器不用输入密码
    在linux操作系统中,可以使用scp命令进行服务器之间的文件复制,但是复制时需要输入远程服务器的密码,这在经常需要进行远程复制操作或者使用脚本复制时会略显麻烦,如果远程复制是在定时任务中执行,更会导致脚本不能自动执行,这时就需要实现无需输入密码进行scp复制。无需输入密码进行scp......