不使用插件实现WordPress附件上传至阿里云对象存储OSS教程-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

不使用插件实现WordPress附件上传至阿里云对象存储OSS教程

紫龙001 2016-08-15 20:54:40 8751
[font=微软雅黑, &]将WordPress上的数据文件存放于OSS不但可以提升存储空间,减少服务器支持;还可以大幅度的降低服务器的IO压力,提速用户体验。同时也方便后期对Wordpress系统进行横向扩容,降低数据迁移的难度。本教程主要讲解如何实现Wordpress上Upload目录与OSS的双向同步;至于如何安装WordPress就不在讲解了;我们这里使用OSSFS将OSS挂载至Wordpress下的Uploads目录,实现发表文章时将图片等附件保存至OSS的目的。


本教程使用的AccessID、AccessKey及Bucket信息如下(以下信息为临时创建使用,用完即删):
  • AccessID:41htXS03QeGC7hZZ
  • AccessKey:5efjr5HZaGWBlSIf5WU7tMeZrvx20h
  • BucketName:wordpressoss
  • Oss Bucket Endpoint:http://oss-cn-qingdao.aliyuncs.com
  • 挂载点:/data/wwwroot/wordpress/wp-content/uploads


一、源码安装Ossfs:


源码安装Ossfs前需要安装依赖库,安装方法如下:
  • Ubuntu安装依赖库方法:
sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \
                     libfuse-dev libssl-dev libxml2-dev make pkg-config
  • CentOS安装依赖库方法:
sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \
                 fuse-devel make openssl-devel
依赖库安装完毕后,在github上下载源码并编译安装:
git clone https://github.com/aliyun/ossfs.git
cd ossfs
./autogen.sh
./configure
make
sudo make install


二、开机自动挂载Ossfs到Wordpress上传目录

1. 把bucket name,access key id/secret等信息写入/etc/passwd-ossfs,并将该文件权限修改为640。 echo your_bucket_name:your_access_key_id:your_access_key_secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
按照我们的实际信息,应执行以下命令: echo wordpressoss:41htXS03QeGC7hZZ:5efjr5HZaGWBlSIf5WU7tMeZrvx20h > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs


2A. Centos 6.5或Ubuntu 14.04通过fstab的方式自动mount​
  • 在/etc/fstab中加入下面的命令
ossfs your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0
按照我们的实际信息,应将以下命令加入/etc/fstab中:

ossfs wordpressoss /data/wwwroot/wordpress/wp-content/uploads 41htXS03QeGC7hZZ 5efjr5HZaGWBlSIf5WU7tMeZrvx20h,url=http://oss-cn-qingdao.aliyuncs.com,allow_other 0 0
  • 保存/etc/fstab文件。执行以下命令,如果没有报错,则说明设置正常。
mount -a
到这一步,ubuntu就能自动挂载了。centos 6.5还需要执行下面的命令:

chkconfig netfs on
自此您重启系统后,即可看见挂载的Bucket。


2B. Centos7.0通过开机自启动脚本mount
  • 在/etc/init.d/目录下建立文件ossfs,模版如下:
#! /bin/bash
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.
ossfs your_bucket your_mountpoint -ourl=your_url -oallow_other
按照我们的实际信息,应将以下命令加入/etc/init.d/ossfs中:

#! /bin/bash
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.
ossfs wordpressoss /data/wwwroot/wordpress/wp-content/uploads -ourl=http://oss-cn-qingdao.aliyuncs.com -oallow_other
  • 执行命令,添加执行权限:
chmod a+x /etc/init.d/ossfs
如果脚本文件内容无误,那么此时oss中的bucket已经挂载到您指定的目录下了。
把ossfs启动脚本作为其他服务,开机自动启动。

chkconfig ossfs on

三、测试发帖
  • 文章发布成功

  • 检查阿里云服务器,文件已成功上传

  • 检查OSS,文件已成功上传

文章来源:http://www.57aliyun.com/archives/1666


Ubuntu Linux Shell 开发工具 对象存储 git UED
分享到
取消 提交回答
全部回答(9)
  • 优惠券活动
    2018-02-01 12:39:40
    Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
    小站用不上这个功能,建议小站直接在ECS里面存的就可以,加上CDN比OSS好
    0 0
  • 赵金海
    2017-06-03 17:10:24
    Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
    在第二步修改了/etc/fstab之后,执行mount -a 失败,提示mount point does not exist.这个是什么原因造成的呢?
    0 0
  • 冷静大魔王
    2017-01-01 12:02:09
    Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
    我也是遇到楼上的问题  求解答
    0 0
  • taosuhua
    2016-12-09 12:12:28
    Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
    挂载后wordpress中上传图片显示失败,权限不够
    0 0
  • 紫龙001
    2016-09-15 14:30:41
    1.进入目录/etc/init.d/
    cd /etc/init.d
    2.创建文件ossfs
    touch ossfs
    3.修改文件并将内容复制到ossfs(因涉及到vi编辑器的使用步骤过于基础,请自行百度)
    vim ossfs


    0 0
滑动查看更多

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程