2018-12-09基于AWS S3协议搭建个人云存储服务

2018-12-09基于AWS S3协议搭建个人云存储服务,第1张

基于AWS S3协议搭建个人云存储服务

su root

mkdir /data

mkdir /data/aws_s3

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

mv minio /usr/local/bin/

chmod +x /usr/local/bin/minio

minio server /data/aws_s3/

Endpoint: http://192.168.1.105:9000 http://127.0.0.1:9000

AccessKey: Q3RZEATLVD576K68LVEM

SecretKey: wshme+3zXBqF3e15XDLEbZ6VxGeEBUPdjILsRep5

Browser Access:

  http://192.168.1.105:9000  http://127.0.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide

  $ mc config host add myminio http://192.168.1.105:9000 Q3RZEATLVD576K68LVEM wshme+3zXBqF3e15XDLEbZ6VxGeEBUPdjILsRep5

Object API (Amazon S3 compatible):

  Go:        https://docs.minio.io/docs/golang-client-quickstart-guide

  Java:      https://docs.minio.io/docs/java-client-quickstart-guide

  Python:    https://docs.minio.io/docs/python-client-quickstart-guide

  JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide

  .NET:      https://docs.minio.io/docs/dotnet-client-quickstart-guide

在2007年,GlusterFS演变为大型分布式存储方案后,任何配备合适硬件的公司,单位都可以利用个做分布式的流媒体,数据分析。在2011年,Red Hat收购了GlusterFS.

Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。

Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用 Go 语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。

Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

官网: https://minio.io

那么,如何自己搭建一个私有的S3存储云服务呢?

官方的话是推荐用Docker来搞,我们先用普通的二进制文件来直接解决了!

######################################################################################

# mkdir /data/aws_s3

# wget   https://dl.minio.io/server/minio/release/linux-amd64/minio

# mv  minio /usr/local/bin/

#  chmod  755  /usr/local/bin/minio 

# minio server  /data/aws_s3

#############################################################

Created minio configuration file successfully at /root/.minio

Endpoint: http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey: /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD 

Region:    us-east-1

SQS ARNs:  

Browser Access:

http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

Command-line Access:  https://docs.minio.io/docs/minio-client-quickstart-guide

################################################################

$ mc config host add myminio  http://10.5.10.89:9000  U3XLU4IMXY3IDKHU268F /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

Object API (Amazon S3 compatible):

Go:  https://docs.minio.io/docs/golang-client-quickstart-guide

Java:  https://docs.minio.io/docs/java-client-quickstart-guide

Python:  https://docs.minio.io/docs/python-client-quickstart-guide

JavaScript:  https://docs.minio.io/docs/javascript-client-quickstart-guide

Drive Capacity: 8.3 GiB Free, 9.1 GiB Total

##############################################################

我们就成功启动了minio的s3服务,默认端口9000,可以通过网页访问:

http://10.5.10.89:9000  

http://127.0.0.1:9000  

http://172.17.0.1:9000

注意 :第一次打开时候需要填写AccessKey和SecretKey才能进入,我们上面启动服务的时候,已经看到屏幕有输出:

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey:6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

把这两个Key填入,就能顺利进入,进入后展开页面如下:

这就是我们的S3云存储的管理页面了,看着是不是和七牛什么的提供云存储的产品页面挺像的,大家都是基于S3协议开发的!

上传个文件试试:

点击右下角的红色小加号按钮,弹出的菜单选择”create bucket”则会创建一个桶,输入名字”test”

点击刚才那个红色小加号按钮,这次选择”Upload file”上传文件,给这个桶上传了一个叫login.txt的文本文档

此时页面如下:

至此我们可以看到文件已经上传,要访问这个文件,可以点击文件右侧的三个点的按钮,选择分享就可以得到一个外链,在浏览器中访问这个外链就可以直接访问文件。

那么文件到底被存到哪里去了呢,我们启动命令中其实指定了工作路径/data/aws_s3/,所以到服务器这个目录下看看:

# ls /data/aws_s3/ 

test

# ls /data/aws_s3/test/

login.txt 

桶名称test是一个目录,其下就有上传的login.txt文件。

如果想指定ip和端口,可以这样写:

# minio server /data/aws_s3 --address=0.0.0.0:9000

如果想让服务在后台运行:

# nohup minio server /data/aws_s3   --address=0.0.0.0:443 &

[1] 19882

// nohup: 忽略输入并把输出追加到启动命令的当前目录下的 "nohup.out"文件

minio可以用来搭建分布式存储系统 GlusterFS,这样就成了真正的云存储了,有时间再研究下把它从现在的单机测试,变成一朵存储云!

minio官网: https://minio.io

minio官方文档: https://docs.minio.io/docs/minio-docker-quickstart-guide

minio github主页: https://github.com/minio/minio

亚马逊提供的服务器包括了1CPU + 1G RAM,可以免费用1年,然后使用最低配的系统每年的费用大约是365元。申请一个AWS账号

选择服务器所在的国家。(重要)

申请一个带Wordpress的AWS云服务器。

检查你的网站已经建好了。

找到你的用户名密码

登陆到你的网络服务器

修改网站的标题和样式

开通新用户的注册。

添加访问量监控

使用自己的域名

今天开篇说一下如何申请一个AWS云服务器,并建立一个Wordpress的instance.

首先当然是打开AWS的网站

http://aws.amazon.com/,点击这个按钮

注册一个新的账号,填写邮箱,密码和地址信息。

填写信用卡信息,我用的是招商银行的全币卡,应该其他的visa或者master card都可以使用。

然后亚马逊会从你的信用卡上面扣除1美元的预授权。

接下来就可以进入AWS的console来新建一个instance,一个instance就是一个网络服务器。亚马逊提供了一年的免费试用,如果你建两个服务器那么试用时间就减半。

2. 在建立网络服务器之前,一定要选择一个合适的服务器地址,我尝试了useast, uswest在国内访问都很慢。建议使用新加坡的服务器,美国和中国访问速度都不错。

选择服务器的方法在你的console的右上角:

3. 接下来进入到AWS的console

然后点击这个

然后AWS会显示线面的页面,里面包括了AWS的推荐选项,你可以从中选择一个,AWS就会帮你建一个网上服务器,但是具体的应用比如Wordpress要你自己装

为了方便,直接选择AWS market,里面有别人做好的带应用的服务器模版,搜索wordpress

接下来选择

如果你想通过一个wordpress支持多人建站的话,你要选择WordPress Multisite powered by Bitnami (HVM)

然后选一个免费的instance包括了1个CPU和1GB的内存。

后面有更多的配置,可以直接使用默认配置,点击然后

接下来你会看见下面的界面:

你需要新建一个key pair,并且一定要保存好,你需要通过这个key pair来访问你的服务器,其他人也通过这个key pair可以直接访问你的服务器。

然后点击Launch instance。

接下来你会看到你的新的服务器正在启动中,当启动结束以后,你就会看到下面的界面,离胜利只剩一步了

5. 把上图中的域名输入到你的浏览器中,当~当~当~当~~,enjoy it.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/238718.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存