阿里云
向代码致敬,寻找你的第83行
发表主题 回复主题
  • 4846阅读
  • 11回复

[网站运营]不使用插件实现WordPress附件上传至阿里云对象存储OSS教程

级别: 程序猿
发帖
393
云币
671
引用
[font=微软雅黑, &amp]将WordPress上的数据文件存放于OSS不但可以提升存储空间,减少服务支持;还可以大幅度的降低服务器的IO压力,提速用户体验。同时也方便后期对Wordpress系统进行横向扩容,降低数据迁移的难度。本教程主要讲解如何实现Wordpress上Upload目录与OSS的双向同步;至于如何安装WordPress就不在讲解了;我们这里使用OSSFS将OSS挂载至Wordpress下的Uploads目录,实现发表文章时将图片等附件保存至OSS的目的。
 ]pucv!  
n"`SL<K1  
本教程使用的AccessID、AccessKey及Bucket信息如下(以下信息为临时创建使用,用完即删): !x!L&p  
  • AccessID:41htXS03QeGC7hZZ
  • AccessKey:5efjr5HZaGWBlSIf5WU7tMeZrvx20h
  • BucketName:wordpressoss
  • Oss Bucket Endpoint:http://oss-cn-qingdao.aliyuncs.com
  • 挂载点:/data/wwwroot/wordpress/wp-content/uploads
VS@rM<K{  
V~%WKQ  
一、源码安装Ossfs: `h%D\EKeB  
NVM2\fs  
E]e[Ty1  
源码安装Ossfs前需要安装依赖库,安装方法如下:  +T8XX@#  
  • Ubuntu安装依赖库方法:
  1. sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \
  2.                      libfuse-dev libssl-dev libxml2-dev make pkg-config
  • CentOS安装依赖库方法:
  1. sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \
  2.                  fuse-devel make openssl-devel
依赖库安装完毕后,在github上下载源码并编译安装: ]jT[dX|?  
  1. git clone https://github.com/aliyun/ossfs.git
  2. cd ossfs
  3. ./autogen.sh
  4. ./configure
  5. make
  6. sudo make install
|^&2zyUj/  
e"&9G}.f  
二、开机动挂载Ossfs到Wordpress上传目录 4s+J-l  
1(\I9L&J   
1. 把bucket name,access key id/secret等信息写入/etc/passwd-ossfs,并将该文件权限修改为640。
  1. echo your_bucket_name:your_access_key_id:your_access_key_secret > /etc/passwd-ossfs
  2. chmod 640 /etc/passwd-ossfs
按照我们的实际信息,应执行以下命令:
  1. echo wordpressoss:41htXS03QeGC7hZZ:5efjr5HZaGWBlSIf5WU7tMeZrvx20h > /etc/passwd-ossfs
  2. chmod 640 /etc/passwd-ossfs
]nr BmKB  
UY?]\4Om  
2A. Centos 6.5或Ubuntu 14.04通过fstab的方式自动mount​ V,* 0<7h  
  • 在/etc/fstab中加入下面的命令
  1. ossfs your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0
按照我们的实际信息,应将以下命令加入/etc/fstab中:
:."n@sA@  
  1. ossfs wordpressoss /data/wwwroot/wordpress/wp-content/uploads 41htXS03QeGC7hZZ 5efjr5HZaGWBlSIf5WU7tMeZrvx20h,url=http://oss-cn-qingdao.aliyuncs.com,allow_other 0 0
  • 保存/etc/fstab文件。执行以下命令,如果没有报错,则说明设置正常。
  1. mount -a
到这一步,ubuntu就能自动挂载了。centos 6.5还需要执行下面的命令:
j2v[-N4 {J  
  1. chkconfig netfs on
自此您重启系统后,即可看见挂载的Bucket。
;V(}F!U\z  
sMe~C>RD  
2B. Centos7.0通过开机自启动脚本mount e+=G-u5}-  
  • 在/etc/init.d/目录下建立文件ossfs,模版如下:
  1. #! /bin/bash
  2. # ossfs      Automount Aliyun OSS Bucket in the specified direcotry.#
  3. # chkconfig: 2345 90 10
  4. # description: Activates/Deactivates ossfs configured to start at boot time.
  5. ossfs your_bucket your_mountpoint -ourl=your_url -oallow_other
按照我们的实际信息,应将以下命令加入/etc/init.d/ossfs中:
:!*;0~#  
  1. #! /bin/bash
  2. # ossfs      Automount Aliyun OSS Bucket in the specified direcotry.#
  3. # chkconfig: 2345 90 10
  4. # description: Activates/Deactivates ossfs configured to start at boot time.
  5. ossfs wordpressoss /data/wwwroot/wordpress/wp-content/uploads -ourl=http://oss-cn-qingdao.aliyuncs.com -oallow_other
  • 执行命令,添加执行权限:
  1. chmod a+x /etc/init.d/ossfs
如果脚本文件内容无误,那么此时oss中的bucket已经挂载到您指定的目录下了。
把ossfs启动脚本作为其他服务,开机自动启动。
eRWF7`HH+  
  1. chkconfig ossfs on
CIs1*:Q9  
j9 &AMg  
三、测试发帖 Kd|l\k!  
  • 文章发布成功
J hq5G"  
  • 检查阿里服务器,文件已成功上传
8 $*cfOC  
  • 检查OSS,文件已成功上传
?+JxQlVDt-  
文章来源:http://www.57aliyun.com/archives/1666 Js2_&?}3f  
b}{9 :n/SC  
F#C6.`B  
[ 此帖被紫龙001在2016-08-15 21:42重新编辑 ]
级别: 论坛版主
发帖
15552
云币
32969

只看该作者 沙发  发表于: 2016-08-16
感谢分享。
善用阿里云帮助文档。
级别: 论坛版主
发帖
1022
云币
846
只看该作者 板凳  发表于: 2016-08-16
good s{`r$:!  
值得尝试一下
免费提供阿里云各类产品及服务相关技术/非技术问题咨询
级别: 总版主
发帖
7054
云币
15521

只看该作者 地板  发表于: 2016-08-16
这个不错
级别: 程序猿
发帖
344
云币
200
只看该作者 4楼 发表于: 2016-09-13
在/etc/init.d/目录下建立文件ossfs 这个是怎么建立的
级别: 程序猿
发帖
344
云币
200
只看该作者 5楼 发表于: 2016-09-13
又怎么把命令加入/etc/init.d/ossfs中的?
级别: 程序猿
发帖
344
云币
200
只看该作者 6楼 发表于: 2016-09-13
在/etc/init.d/目录下建立文件ossfs 这个是怎么建立的?发个图文啊 7/[TE  
级别: 程序猿
发帖
393
云币
671
只看该作者 7楼 发表于: 2016-09-15
1.进入目录/etc/init.d/ F|*{Ma  
  1. cd /etc/init.d
K\&A}R  
2.创建文件ossfs S;$@?vF  
  1. touch ossfs
uQN8/Gy*J  
3.修改文件并将内容复制到ossfs(因涉及到vi编辑器的使用步骤过于基础,请自行百度) =2#a@D6Bl  
  1. vim ossfs
}DTpl?l  
XD`QU m  
4#uWj ?u  
级别: 新人
发帖
1
云币
2
只看该作者 8楼 发表于: 2016-12-09
Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
挂载后wordpress中上传图片显示失败,权限不够
级别: 新人
发帖
1
云币
2
只看该作者 9楼 发表于: 2017-01-01
Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
我也是遇到楼上的问题  求解答
级别: 新人
发帖
1
云币
17
只看该作者 10楼 发表于: 2017-06-03
Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
在第二步修改了/etc/fstab之后,执行mount -a 失败,提示mount point does not exist.这个是什么原因造成的呢?
级别: 小白
发帖
17
云币
25
只看该作者 11楼 发表于: 02-01
Re不使用插件实现WordPress附件上传至阿里云对象存储OSS教程
小站用不上这个功能,建议小站直接在ECS里面存的就可以,加上CDN比OSS好
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个