Nginx按天切分日志并自动备份到七牛云存储

2017-10-18

上篇文章中我曾讲到,数天前我将本站从阿里云的虚拟主机迁移到了ECS云主机上。在迁移过程中,我在安装Nginx服务器的时候遇到了一个非常典型的问题——如何将Nginx服务器的日志按日期进行切分?Nginx服务器的日志默认是存放在access_log.log和error.log两个文件中的。如果不对这两个文件进行切分处理,长此以往,这两个文件将变得非常巨大,以致影响数据的存储和分析,难以使用。所以,对这两个文件进行切分,尤其是按时间进行切分,还是非常有必要的。

其次,我国相关法律规定,“互联网信息服务提供者、互联网接入服务提供者应当记录日志信息,保存12个月”。出于网站的合规性考虑,我们需要将网站服务日志做较长时间的保留。可是ECS的自带磁盘无论是出于存储代价还是服务可靠性的考虑,都不适合这种持久性保存的应用场景,最好的处理方式还是将这些日志存放到专业的云存储服务中。鉴于七牛提供了10GB的免费存储空间和较为完善的命令行工具,而阿里云的OSS云存储多多少少仍需要付些费用,所以我最终还是决定采用七牛家的服务来做这件事情。那么,怎样才能将Nginx的日志增量备份到七牛云存储呢?

网络上关于Nginx日志按时间切分的文章很多,Google一搜一大把;而且,七牛也为Linux操作系统提供了现成的QSHELL上传工具。所以,只要对网络上的现有脚本稍加改造,便可以实现我们需要的功能。下面我简单介绍一下我是如何实现这两个功能的。 阅读全文 »

七牛云存储总算有Web Portal了!

2013-05-21

七牛云存储LOGO

七牛云存储是目前国内功能和性能都非常不错的一家云存储提供商。其云存储产品采用网宿的CDN进行加速,加速节点遍布全国各地;支持图片裁剪,功能强大;价格也很不错,比阿里云OSS要便宜些。我曾有意向使用七牛存储,怎奈七牛的Web Portal一直不支持在线文件管理,给日常的简单文件管理造成诸多不便,所以一直未使用。不过从今天起就不同了,七牛云存储已经推出了新版(beta版)的Web Portal,全面支持文件在线管理,我最后的一点顾虑也被打消了。

七牛云存储的镜像存储(源站管理)很有特色,其原理就是当云存储中不存在请求的文件时,云存储会到你指定的域名下寻找,并存储到云存储中。这样可以显著降低网站迁移成本,也免去了开发各程序相应插件的繁琐。只要你的资源文件使用独立域名,就可以非常简单地把资源文件迁移到七牛。 阅读全文 »