文章列表

日志分析处理:GoAccess 篇

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

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

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

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

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

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

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

Nginx 基础用途拾遗

, , , ,
Nginx 是一款大家日常再熟悉不过的软件,稳定高效是这款软件的标签。常见 Nginx 会做为地址转发服务或提供文件托管能力。但是 Nginx 的用法其实不止于此,原生 Nginx 还有许多实用的功能,能够实现一些业务中麻烦的小细节。本文将介绍三种基础用法,如果你熟悉 Nginx 和容器,阅读时间大概是五分钟。 阅读全文

如何针对 Nginx 为基础的服务进行容器优化

, ,
去年的时候,曾经写过一篇使用 Docker 、Traefik 以及 Nginx 创建自动索引站点的[文章],本篇内容将聊聊如何进行优化。包含内容:剥离容器配置中的变量、如何对容器进行健康检查、如何限制容器日志尺寸等。更新的项目代码保存在: [GitHub] 上,可以自取。 阅读全文

使用 Docker 和 Traefik 搭建 WordPress(Nginx)

, , , ,
[前一篇] 内容介绍了如何使用官方镜像快速搭建 WordPress,但是官方默认是“胖容器”应用,接下来将聊聊同样基于容器搭建的其他选择:Nginx。演示如何改造应用为“瘦”容器应用。本文将花费十分钟左右,介绍如何在 Docker 容器中搭配 Traefik 使用 WordPress 和 Nginx 。 阅读全文

使用 Docker 和 Nginx 实现简单目录索引服务

, , , ,
本文将会介绍如何使用 Docker、Node、JavaScript、Traefik 完成一个简单的目录索引服务,全部代码在 300 行以内。相关代码已开源至 GitHub ,文末有链接,感兴趣可以自取。实现一个目录索引站点并不是什么难事,但是即便如此,需要考虑的事情也有很多,要实现非阻塞IO、要实现文件缓存、要实现SSL等等一系列稍微有些麻烦的事情,如何能在尽可能少编写代码的情况下,完成这个需求呢。其实很简单,借助完善靠谱的开源项目们,本文最终实现例子效果如下。![最终结果预览] 阅读全文

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

, , , ,
本文将演示如何使用 Docker 完整打造一个基于 Nginx 的高性能二维码服务,以及对整个服务镜像进行优化的方法。如果你的网络状况良好,完整操作和体验时间应不超过 15 分钟。 阅读全文

Brute Force Attacks On WordPress

, ,
今天早些时候看到 Linux 又爆出了 glibc 的漏洞,顺手修复的时候看到了 WordPress 的一篇漏洞利用的文章。这类手动其实在 2010 年的时候就曾沸沸扬扬的闹过一次,解决方案除了祭出 fail2ban 之外,还可以使用下面的方式来进行防御。在 Nginx 配置合适的位置中添加: 阅读全文