centos7挂载aws的s3存储到本地目录

需求:
因为不想使用aws官方的cdn加速,想使用国内的cdn进行加速,最后得了这个方案。
把文件挂载到nginx服务器上,然后把cdn回源地址指向nginx ip地址,最后使用nginx访问web即可。

本人是使用root权限执行
安装aws s3fs

sudo yum install epel-release
sudo yum install s3fs-fuse

aws密钥

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs

挂载s3存储到/mnt/mybucket目录,并把文件设置为nginx权限,毕竟使用root运行nginx不够安全

$ id nginx
uid=997(nginx) gid=994(nginx) groups=994(nginx)

$ s3fs -o uid=997,gid=994 static-xxx-pro /mnt/mybucket -o passwd_file=${HOME}/.passwd-s3fs

设置fstab开机自动挂载s3

s3fs#static-xxx-pro /mnt/mybucket fuse _netdev,allow_other,uid=997,gid=994 0 0

查看/mnt/mybucket目录

[root@prod-xxx-nginx01 ~]# ll /mnt/mybucket/
total 1055010
-rw-r--r-- 1 nginx nginx     392149 Oct 17 17:37 11.jpg
-rw-r--r-- 1 nginx nginx     168178 Oct 18 15:10 15.jpg
-rw-r--r-- 1 nginx nginx     108817 Oct 18 15:10 16.jpg
-rw-r--r-- 1 nginx nginx     293153 Oct 18 15:10 1.png
-rw-r----- 1 nginx nginx     414534 Oct 18 15:52 20.jpg
-rw-r----- 1 nginx nginx     427617 Oct 18 15:52 21.jpg
-rw-r----- 1 nginx nginx     403020 Oct 18 15:52 22.jpg
-rw-r----- 1 nginx nginx     435375 Oct 18 15:52 23.jpg
-rw-r----- 1 nginx nginx     487228 Oct 18 15:52 24.jpg
-rw-r----- 1 nginx nginx     469577 Oct 18 15:52 25.jpg
-rw-r--r-- 1 nginx nginx    2837317 Oct 18 15:10 2.png
-rw-r--r-- 1 nginx nginx      29063 Oct 18 15:10 3.jpg
-rw-r--r-- 1 nginx nginx      76135 Oct 18 15:10 4.jpg
-rw-r--r-- 1 nginx nginx      42301 Oct 18 15:10 9.png

nginx配置如下:

server  {
       listen 80;
       server_name static.xxx.pro;
       location / {
          alias /mnt/mybucket/;
        }
}

参考:
s3fs-fuse

你可能感兴趣的:(centos7挂载aws的s3存储到本地目录)