阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。将WordPress上的数据文件存放于OSS不但可以提升存储空间,减少服务器支持;还可以大幅度的降低服务器的IO压力,提速用户体验。同时也方便后期对Wordpress系统进行横向扩容,降低数据迁移的难度。
本教程主要讲解如何实现Wordpress上Upload目录与OSS的双向同步;至于如何安装WordPress就不在讲解了;如需这方面的教程,请移步:WordPress专题。
教程准备工作:
- 阿里云账户的AccessID和AccessKey。(不知道哪里找?,请移步:上云初级教程–如何获取我的Access_id和Access_key
- 已开通OSS服务,并创建完成Bucket。(不会开通?,请移步:对象存储OSS入门教程)
本教程使用的AccessID、AccessKey及Bucket信息如下(以下信息为临时创建使用,用完即删):
- AccessID:41htXS03QeGC7hZZ
- AccessKey:5efjr5HZaGWBlSIf5WU7tMeZrvx20h
- BucketName:wordpressoss
- Oss Bucket Endpoint:https://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=https://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=https://oss-cn-qingdao.aliyuncs.com -oallow_other
-
执行命令,添加执行权限:
chmod a+x /etc/init.d/ossfs
如果脚本文件内容无误,那么此时oss中的bucket已经挂载到您指定的目录下了。
把ossfs启动脚本作为其他服务,开机自动启动。
chkconfig ossfs on
三、测试发帖
-
文章发布成功
-
检查阿里云服务器,文件已成功上传
-
检查OSS,文件已成功上传