基于阿里云OSS的图床教程

现在越来越多的网站的图片都有一个专门的服务器来托管图片-这就是图床。作为一个爱琢磨的人,我也打算搞一个自己的图床网站,以后所有的图片都放这上面了,这样一来节省了不少流量和空间,还可以用这个网站发布一些高清的图片。

那么问题来了,目前网上好像没有可以连接阿里云OSS的图床,那么应该怎么做呢?我在查找资料的时候知道了阿里云还有个ossfs的东西,通过这个软件就可以把你的OSS盘挂载到你主机的目录上。注意:该方法不适合那种高并发的需要进行大量IO读写的操作。

不过对于图床来说,只是需要存储文件而已,所以并不需要这么高的性能,所以这个是完全可以的。

1、安装图床

这里我使用的是Chevereto注意:它这个是有收费的和免费版本的,不过我们用免费版就已经够用了,推荐使用正版的免费版本,不要去下什么破解版的,不安全。

大家可以到官方的GitHub上下载源码。

官方给出了四种安装方式
_20191116141629.png

这里我推荐最后一个,最后一种方式是最简单的方式。

首先我们先用宝塔建一个站点,记得要使用MySQL的数据库。
_20191116142402.png
站点建好后,需要先下载压缩包,然后通过宝塔上传到自己网点的根目录下进行解压。
创建好了进行伪静态设置,复制下面的代码就可以了。

# Image not found replacement
location ~* (jpe?g|png|gif) {
log_not_found off;
error_page 404 /content/images/system/default/404.gif;
}
# CORS header (avoids font rendering issues)
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
# Pretty URLs
location / {
try_files $uri $uri/ /index.php?$query_string;
}

效果是这样的
_20191116142813.png

然后直接访问域名就可以看到设置的界面了,设置好相关的信息,安装就算是完成了,注意进去是英文界面,如果英文不好的可以进入

https://域名/settings 进去设置全局中文

2、挂载ossfs

然后需要下载安装包,你的是什么系统就安装什么样的安装包。下好后上传到你的服务器上面,然后在终端界面定位到你的安装包的安装路径。

因为那个安装包下载链接里面有详细的教程,这里就直接介绍我的centos7.0的安装方法。其余的自己到那个教程里去找

安装方法:

*记得安装你下载的对应版本才对
sudo yum localinstall your_ossfs_package

安装好后就可以设置bucket name 和 AccessKeyId/Secret信息,将其存放在/etc/passwd-ossfs 文件中。注意这个文件的权限必须正确设置,建议设为640。

echo 你的bucket名字:你的keyid:你的keysecret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

然后把你的OSS挂载到指定目录(注意:你要把它挂载在图床网站的目录下,原因后面会说)

ossfs 你的bucket名字 挂载目录 -ourl=你的阿里云的访问网址

比如:将
my-bucket
这个bucket挂载到
/tmp/ossfs
目录下,AccessKeyId是
faint
,AccessKeySecret是
123
,OSS endpoint是
http://oss-cn-hangzhou.aliyuncs.com

echo my-bucket:faint:123 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs(你安装图床的本地地址,/www/wwwroot/域名/images)
ossfs my-bucket /tmp/ossfs(你安装图床的本地地址,/www/wwwroot/域名/images) -ourl=http://oss-cn-hangzhou.aliyuncs.com -o allow_other 

安装好后如果需要卸载可以输入以下命令
fusermount -u /tmp/ossfs(你安装图床的本地地址,/www/wwwroot/域名/images)

[========]

注意:

当然,如果我们直接这样设置的话,你的图床是无法直接访问自己挂载的目录的(默认是只有root用户才能修改)我们需要修改访问权限:

在你挂载的时候在命令行后面加上 -o allow_other

非阿里云ECS挂载注意事项
为避免后台程序扫描oss文件导致产生费用,如果是updatedb可以通过修改/etc/updatedb.conf让它跳过。
具体做法是:
在PRUNEFS =后面加上fuse.ossfs
在PRUNEPATHS =后面加上挂载的目录

服务器重启后需要重新挂载。

最后修改:2019 年 12 月 06 日
如果觉得我的文章对你有用,请随意赞赏