文章列表

使用 Docker 和 Nginx 打造高性能二维码服务(二)

, , , ,
三年前我曾写过一篇[《使用 Docker 和 Nginx 打造高性能的二维码服务》],时过境迁,容器软件、基础系统、Nginx、QRCode 依赖库都经历了版本升级,为了构建可维护,性能更好的 QRCode 生成服务,就有了本篇折腾内容。希望本篇内容的出现可以帮到同样需要减少各种语言、框架中二维码生成实现代码的你。 阅读全文

日志分析处理:GoAccess 篇

, , ,
这篇文章原计划在 2020 年中智源大会举办完毕之后整理出来,奈何各种事情阻塞,一直拖延至今。恰逢年末跑一些数据,以及计划搭建一些日常辅助业务运营的实时看板,借着机会把内容整理出来。本篇是第一篇,聊聊怎么使用 GoAccess 进行各种常见场景,进行常规日志行为数据分析。 阅读全文

使用 Nginx 容器为 Traefik 配置高性能通用错误页面

, , , ,
使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快,但是这个恢复时间取决于部署启动的应用和监控检查配置策略,如果没有配置流量切换规则,那么有的时候,会看到很久的空白页面,这样的体验显然不好。为了提升体验,我们可以使用 Traefik 提供的错误页面中间件来解决这个问题,优化访问体验。本篇思路同样可以处理通用 Nginx 错误页面的创建。 阅读全文

重定向的九种方案及性能比较

说到重定向,大家必然不会陌生,最常见的场景之一便是各种文章、社交媒体上的短链接。最近计划对于之前的短链接服务进行升级改造。在改造前,对于常见 Web 语言,如 Java、PHP、Python、Node、Ruby、Go和服务工具 Nginx、Caddy、Traefik 做了简单的对比分析。希望这篇文章能够帮你在这个技术场景下,更立体的了解到各种语言/工具的基础性能差异。 阅读全文

使用 Nginx 构建前端日志统计服务(打点采集)服务

, , ,
工作中经常会遇到需要“数据支撑”决策的时候,那么可曾想过这些数据从何而来呢?如果业务涉及 Web 服务,那么这些数据的来源之一便是服务器上各种服务器的请求数据,如果我们将专门用于统计的数据进行服务器区分,有一些服务器专注于接收“统计类型”的请求,那么产生的这些日志便是“打点日志”。本文将介绍如何在容器中使用 Nginx 简单搭建一个支持前端使用的统计(打点采集)服务,避免引入过多的技术栈,徒增维护成本。 阅读全文