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. Rasa NLU中的组件

      Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务.Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件.组件特征包括有顺序关系.可相互替换.可互斥和可同时使 ...

  2. JUC并发编程学习笔记(十七)彻底玩转单例模式

    彻底玩转单例模式 单例中最重要的思想------->构造器私有! 恶汉式.懒汉式(DCL懒汉式!) 恶汉式 package single; //饿汉式单例(问题:因为一上来就把对象加载了,所以可 ...

  3. GCD Inside: GCD 数据结构

    1 OS_object OS_object由下面宏OS_OBJECT_DEC_BASE扩展而来: // 1. os/object.h OS_OBJECT_DECL_BASE(object, NSObj ...

  4. C#使用SqlSugar操作MySQL数据库实现简单的增删改查

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SqlSugar简介 SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队 维 ...

  5. PX4环境安装

    1.安装ROS 利用鱼香ros一键安装: wget http://fishros.com/install -O fishros && . fishros 调用的命令为: roscore ...

  6. RabbitMQ高可用集群的搭建部署(Centos7)

    高可用集群架构 节点域名 操作系统 RabbitMQ版本 Erlang版本 iamdemo.tp-link.com Centos7.9 3.8.28 23.3-2 iamdemo2.tp-link.c ...

  7. .NET微信网页开发相关文章教程

    前言 今天我们主要总结一下.NET微信网页开发的相关文章教程. 微信网页开发详细文档可以看微信官方文档:https://developers.weixin.qq.com/doc/offiaccount ...

  8. 论文阅读:2023_Semantic Hearing: Programming Acoustic Scenes with Binaural Hearables

    论文地址:语义听觉:用双耳可听器编程声学场景 论文代码:https://semantichearing.cs.washington.edu/ 引用格式:Veluri B, Itani M, Chan ...

  9. [ABC261A] Intersection

    Problem Statement We have a number line. Takahashi painted some parts of this line, as follows: Firs ...

  10. AVL树和红黑树的Python代码实现

    AVL树 AVL树是一种自平衡二叉搜索树.在这种树中,任何节点的两个子树的高度差被严格控制在1以内.这确保了树的平衡,从而保证了搜索.插入和删除操作的高效性.AVL树是由Georgy Adelson- ...