自建OSS前端教程( 节省OSS流量 )-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

自建OSS前端教程( 节省OSS流量 )

2013-05-12 00:52:34 18503 2
相信广大坛友知道OSS的都是被他的各种特性所吸引。但是应用做大了,流量上去了,钱花的太快,怎么办?没事,你可以用云主机来中转OSS的流量,节约流量和请求开销。
I think everyone know oss was attracted by it's some feature.But the application grows day by day and the traffic rises,money takes more and more,what should we do?it's okay,we may build our owned oss front end to transfer the traffic and request to save their spending.

组成:
What we need before we continuing?

1.主机
配置自己的阿里云主机,做OSS的前端服务器。建议采用 tengine 做OSS前端服务器。
1.A alibaba cloud ecs server,it will turn to the oss front end ,i advise you us the tengine to compile to oss front end http service.

2.DNS
使用DNSPOD免费DNS服务,和DNSPOD免费的D监控服务实现故障切换。
2.A smart dns service ,such as dnspod.cn . it will change your a record to oss origin after your front end down.

教程部分
本教程以笔者博客的图片的OSS前端实现为例, 描述一次OSS前端搭建的完整过程:
*.主机配置: (1G 1核 5mbps) x 3  建议生产环境的应用使用时,主机带宽选用5mbps或更大,建议购买多台以便热备切换。
oss bucket :  safe121
一  服务器环境:
1.搭建前端环境:
*.如果你安装了tengine 1.4.x,此步可以无视。
下载tengine: wget http://tengine.taobao.org/download/tengine-1.4.5.tar.gz;tar zxvf tengine-1.4.5.tar.gz;cd tengine-1.4.5;
编译:需要开启--with-http_upstream_check_module 主动检查OSS的内外网IP的健康性
./configure --with-openssl=***修改成openssl路径*** --with-pcre=***修改成pcre路径*** --with-zlib=***修改成zlib路径*** --with-http_upstream_check_module ;make && make install
编译完成后,你的tengine就安装成功了。
编辑nginx.conf
vi /usr/local/nginx/conf/nginx.conf
在http{}中添加缓存区配置
proxy_cache_path /dev/shm/ngx levels=1:2 keys_zone=global:256m inactive=10m max_size=10m;在http{}中添加 OSS后端池
upstream oss_backend {
    server oss-internal.aliyuncs.com:80 max_fails=1 fail_timeout=3s;
    server oss-internal.aliyuncs.com:8080 max_fails=1 fail_timeout=3s;
    server oss.aliyuncs.com:80 max_fails=1 fail_timeout=3s;
    server oss.aliyuncs.com:8080 max_fails=1 fail_timeout=3s;
    keepalive_timeout 3600;
    check interval=3000 rise=2 fall=1 timeout=1000;
}

然后在http{}中添加server
server{
    server_name lebastatic.vip.thiscache.com;
    listen 80;

    location /safe121/ { #此处的safe121要改成你的bucketname
        expires 3650d;   #缓存十年
        proxy_pass http://oss_backend;
        proxy_no_cache 0;
        proxy_ignore_headers "Cache-Control" "Expires";
        proxy_cache_valid 200 301 302 304 86400s;
        proxy_cache_valid 403 404 400 500 10s;
        proxy_cache_key $host$http_referer$uri$is_args$args$http_if_none_match$http_if_modified_since;
        proxy_cache global;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; #当出现指定错误时,自动转发请求到下一个可用的后端
        proxy_connect_timeout 1s;
        proxy_read_timeout 2s;
        add_header X-Thislan-Cache '$upstream_cache_status from $hostname';
    }
}

然后运行下面命令重载nginx
/usr/local/nginx/sbin/nginx -s reload
用以上方法将所有要做前端的伺服器都配置好。


二.DNSPOD


将想要做前端的域名,A记录指向到你的前端IP。


添加D监控,如下配置:
*.监控任务设置为http://你的前端域名/bucketname/a_small_size_object。
切换规则的备用IP要设置为oss的公网IP。可以ping oss.aliyuncs.com获得。




保存,然后坐等DNS生效, 应该就生效了。


演示图片[来源 www.it68.com.cn]:
http://lebastatic.vip.thiscache.com/safe121/attachment/blogpost/-1gOPkIirJkY/UYUK0HXPd4I/AAAAAAAAA_Q/6R2DRz1z5z8/h56/it68_logo.png
http://oss.aliyuncs.com/safe121/attachment/blogpost/-1gOPkIirJkY/UYUK0HXPd4I/AAAAAAAAA_Q/6R2DRz1z5z8/h56/it68_logo.png

取消 提交回答
全部回答(2)
  • enj0y
    2013-05-14 01:45:50
    回 1楼(时尚网事) 的帖子
    看命中率。
    0 0
  • 时尚网事
    2013-05-13 18:05:07
    Re自建OSS前端教程节省OSS流量
    很好很强大!!!!    大概能省多少呢~
    0 0
添加回答
相关问答

170

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 234187浏览量 回答数 170

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 341542浏览量 回答数 8

119

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 302920浏览量 回答数 119

24

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 661157浏览量 回答数 24

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 263799浏览量 回答数 39

295

回答

Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)

qilu 2014-09-25 13:26:50 438617浏览量 回答数 295

251

回答

【史上最详细】阿里云ECS安装wordpress教程

爱映疯wp 2014-03-09 23:55:43 258372浏览量 回答数 251

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 310571浏览量 回答数 251

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 486875浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205823浏览量 回答数 2
+关注
0
文章
2465
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载