ECS 挂载 OSS,等同于在ECS 上使用内网的 Bucket 域名,不需要收取流量费用,减少接口代码的编写。

CentOS系统 安装

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
yum install ossfs_1.80.6_centos7.0_x86_64.rpm

配置账号访问信息。

将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的权限建议设置为640。

echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

将Bucket挂载到指定目录。

echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs bucket-test /tmp/ossfs -o url=http://oss-cn-shanghai-internal.aliyuncs.com -o allow_other #可以使用内网,免去流量费用 、 加 -o allow_other允许非root用户操作避免因权限问题导致无法操作oss目录,如Nginx

#挂载后,从本地磁盘拖文件到 /tmp/ossfs 目录下,目录、文件权限将默认为 640,所以需要 chmod 进行设置。后期程序在该目录执行的写操作,将为 755

多Bucket

echo bucket-test-1:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs
echo bucket-test-2:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** >> /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs mkdir -p /ossfs/bucket-test-1
mkdir -p /ossfs/bucket-test-2 ossfs bucket-test-1 /ossfs/bucket-test-1 -o url=http://oss-cn-shanghai-internal.aliyuncs.com #可以使用内网,免去流量费用
ossfs bucket-test-2 /ossfs/bucket-test-2 -o url=http://oss-cn-shanghai-internal.aliyuncs.com #可以使用内网,免去流量费用

卸载OSS

umount -l /tmp/ossfs  #mkdir 创建的目录
fusermount -u /tmp/ossfs #或者使用该命令卸载

注意:如果 Nginx 无法访问 挂载的 OSS,需要在挂载命令加上 -o allow_other

ossfs 挂载时如何设置权限?
如果要允许其他用户访问挂载文件夹,可以在运行ossfs的时候指定allow_other参数:

ossfs your_bucket your_mount_point -ourl=your_endpoint -o allow_other

为什么使用allow_other参数,仍然不能访问文件?

注意:allow_other是赋予挂载目录其他用户访问的权限,不是里面的文件!如果您要更改文件夹中的文件,请用chmod命令,否则Nginx配置的静态资源无法访问报:failed (1: Operation not permitted)

allow_other默认赋予挂载目录777权限,我想让挂载目录的权限为770,该怎么办?
可以通过umask来设置

使用ossfs上传到OSS的文件的Content-Type全是application/octet-stream

问题分析:上传文件时,ossfs通过查询/etc/mime.types中的内容来设置文件的Content-Type。当该文件不存在时,默认设置为application/octet-stream。

解决方案:请检查这个文件是否存在,如果不存在,则需要添加。

  • 通过命令自动添加mime.types文件

    • Ubuntu系统

      使用  sudo apt-get install mime-support  命令添加。

    • CentOS系统

      使用  sudo yum install mailcap  命令添加。

  • 手动添加mime.types文件
    1. 创建mime.types文件

      vi /etc/mime.types
    2. 添加需要的格式,每种格式一行,每行格式为application/javascript js

添加完成后,需要重新挂载OSS。

 

ECS 挂载 OSS 多Bucket的更多相关文章

  1. ossfs挂载oss到ECS本地并设置权限

    下载ossfs wget https://github.com/aliyun/ossfs/releases/download/v1.80.2/ossfs_1.80.2_ubuntu16.04_amd6 ...

  2. 使用ECS和OSS搭建个人网盘

    体验简介 本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例.通过本教程的操作,您可以基于ECS和OSS快速搭建一个个人网盘. 体验此场景后,可以掌握的知识有: ...

  3. 阿里云ECS使用cloudfs4oss挂载OSS

    cloudfs4oss可以帮我们将OSS直接挂载到ECS上,就像一个目录一样方便访问.使用方法: 1.安装配置环境: yum install libcurl libcurl-devel openssl ...

  4. aliyun挂载oss

    配置 oss 挂载 阿里云 ecs 按照ossfs工具:yum install http://gosspublic.alicdn.com/ossfs/ossfs_1.80.5_centos6.5_x8 ...

  5. 阿里云OSS的Bucket容量大小采集

    #!/usr/bin/env python3 #-*- coding: utf-8 -*- # 获取阿里云云监控中 OSS 中的bucket 的bucket大小 from aliyunsdkcore. ...

  6. 解决阿里云OSS The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint的办法

    以前有一个上海节点的存储包,一直使用正常.最近购买了一个全国的存储包,发现在上传文件的时候有这个问题. 尝试了很多办法,还提交了工单,都没有解决. 最后解决办法如下: 1.在阿里云OSS管理控制台下, ...

  7. 阿里云有奖体验:如何通过ECS挂载NAS文件系统

    实验简介 本实验提供CentOS系统ECS一台和NAS文件服务. NAS基于POSIX文件接口,天然适配原生操作系统,提供共享访问,同时保证数据一致性和锁互斥.它提供了简单的可扩展文件存储以供与ECS ...

  8. ECS挂载数据盘

    1.先在阿里控制台挂载硬盘: 2.df -h 确认没有分区 3.fdisk -l 4.fdisk /dev/xvdb 分区 根据提示m-n-p-1-Enter-Enter-w 5.fdisk -l 查 ...

  9. 阿里云服务器ECS挂载数据盘—linux系统

    参考阿里云官网帮助文档:https://help.aliyun.com/document_detail/25426.html 里面有些步骤说的不是很清楚,初学者可能操作时会遇到问题.通过这篇文档进行进 ...

  10. OSSFS将OSS bucket 挂载到本地文件系统及注意事项

    OSSFS将OSS bucket 挂载到本地文件系统及注意事项 下载ossfs安装包 wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/as ...

随机推荐

  1. JavaScript 简介与引用

    作者:WangMin 格言:努力做好自己喜欢的每一件事 我们通常写好的HTML网页是处于一个静态的效果,在用户体验这一方面就不是很好,给人一种死板的感觉.这里我们就可以用到JavaScript来为网页 ...

  2. mysql 代码适配 postgresql 适配改写,优化案例(行转列 + 标量子查询改写)

    最近在适配个MySQL应用的项目,各种SQL改成PG兼容的语法真的是脑壳痛,今天遇到个有意思的案例. 原 MySQL SQL语句: SELECT DISTINCT l.MALL_NAME '项目', ...

  3. Java -- Stream流用法

    1. 前言 流是Java 8 API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式. Stream流是从支持数据处理 ...

  4. .NET8 Blazor新特性 流式渲染

    什么是SSR Blazor中的流式渲染结合了SSR(服务端渲染),服务端将HTML拼好返回给前端,有点像我们熟知的Razor Pages 或 MVC . 当已经有了 Razor Pages 或 MVC ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (138)-- 算法导论11.4 2题

    二.用go语言,试写出HASH-DELETE 的伪代码;修改 HASH-INSERT,使之能处理特殊值DELETED. 文心一言: 首先,让我们定义一个基本的哈希表数据结构.这个结构将包括一个存储键值 ...

  6. JAVA学习week1

    本周: 认识到Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对 ...

  7. 数据结构(C语言版 第2版)课后习题答案全集 严蔚敏

    有的小伙伴在网上奋力的找 严蔚敏版 第2版 数据结构 的始终无果,那么我这里就整理好,放在同名公众号中了,也可扫文章末尾的二维码直达公众号,回复数据结构的关键词即可拿到.

  8. 如何优雅而不损失性能的实现SpringCloud Gateway网关参数加解密方案

    背景 为了增强产品安全性,计划对应用网关进行改造,主要是出入参经过网关时需要进行加解密操作,保证请求数据在网络传输过程中不会泄露或篡改. 考虑到密钥的安全性,每个用户登录都会签发独立的密钥对.同时摒弃 ...

  9. [ABC246F] typewriter

    Problem Statement We have a typewriter with $N$ rows. The keys in the $i$-th row from the top can ty ...

  10. Java项目整合短信验证码

    一.开通短信服务 本来想整合阿里云短信服务的,可是签名一直审核不过,所以在阿里云的云市场找到了一个替代产品(sddx) 接下来小伙伴们按照自己的经济实力购买或者用免费的5条(我就是用免费的5条了) 购 ...