配置Nginx访问OSS对象存储静态资源

来源:csdn博客 分类: 文章浏览史 发布时间:2020-03-30 17:02:19 最后更新:2020-03-30 浏览:148
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-03-30 17:02:19

Nginx是目前比较流行的反向代理服务器和WEB服务器,它功能强大并且还是开源软件,支持正则,这也使得它的配置可以十分多样,OSS是阿里云的一种云存储服务,价格便宜,并且不需要考虑性能,支持各种接口,按需收费,本文章将分享一下用Nginx去访问OSS对象存储上的静态资源。

配置环境:
系统:CentOS7.3
Nginx:1.12.1
阿里云OSS 2T存储包

配置背景:公司的数据人员要将200台爬虫服务器爬取到的数据存放在公司的云主机中,但是由于需要200台服务器同时往一台云主机写,并且每天都要存入上百万的静态资源,考虑到并发以及云主机的性能情况,决定采用更便宜的阿里云的OSS对象存储来当作资源服务器,不需要考虑性能和并发,可以同时读取和写入.

一、基础条件

1、申请OSS对象存储
首先你得有个阿里云的OSS对象存储包,可以先买个便宜的测试一下功能,反正后续想要继续用随时可以进行升级。
OSS对象存储购买地址:https://www.aliyun.com/product/oss?utm_content=se_1272355

2、当然了你还得有个Nginx这个软件,搭建的话我这里就不介绍了,网上还是很多的。

二、开始配置
1、OSS创建存储空间Bucket(可以理解为一个放资源的仓库,一个阿里云账号可以创建多个Bucket,但是Bucket的名字是全网唯一的,并且访问资源的时候也是要用Bucket访问,取名字的时候尽量不要太复杂)
登录OSS 管理控制台。
单击左侧存储空间列表中的新增按钮+,或者单击页面右上方的新建 Bucket按钮,打开新建 Bucket对话框
在这里插入图片描述

配置如下,设置公共读是为了好测试,因为设置私有的话用nginx访问还需要验证要加token,比较麻烦
在这里插入图片描述

可以看到bucket已经创好了,并且给了外网访问地址,当然你直接打地址是没用的,需要跟上资源目录。
在这里插入图片描述

2、创建 Object (文件夹)
点击文件管理—>创建目录
我这里的话创建一个叫resource的目录,具体的名字可以自己创建,因为开发人员是需要这样的名字,我就创建了
在这里插入图片描述

最终我创建的目录结构是这样,再把对应的图片上传上去就可以了,上传的话可以通过api,sdk等接口直接上传,也可以通过阿里云的web界面直接点击上传
在这里插入图片描述

Nginx配置
OSS创建好Bucket和object以后,可以开始配置Nginx了,Nginx配置很简单,只需要加一个location去匹配即可
在这里插入图片描述

location ^~ /resource/images/oss {   
           proxy_pass http://bucket名.oss-cn-shenzhen-internal.aliyuncs.com;
        }

意思就是匹配到链接里有/resource/images/oss这样的后缀以后直接去相应的oss域名上请求资源
相应的域名和目录名可以在oss的控制台里查看
在这里插入图片描述

Nginx配置好以后测试一下

三、测试
进入OSS的object里面找一张图片点击预览
在这里插入图片描述

在这里插入图片描述
在浏览Nginx配置的网站后面跟上这个路径 显示OK
我Nginx配置的主页域名是test.fhtest.com
图片的路径是/resource/images/oss/patent_info/100000138/200720154979.gif
直接打test.fhtest.com/resource/images/oss/patent_info/100000138/200720154979.gif 能够正常访问
在这里插入图片描述

php技术微信