文章列表

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

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

日志分析处理:GoAccess 篇

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

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

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

Traefik 2 基础授权验证(后篇)

, , , , ,
[上篇文章]中,我们提到了 Traefik 的 Forward Auth,本篇内容我们来展开聊聊如何使用它。 阅读全文

Traefik 2 基础授权验证(前篇)

我们经常会看到在访问应用前,系统提示用户进行鉴权操作,或出于某些原因,内部提供公网服务的应用需要藏在一些基础的鉴权认证后,避免直接向大众公开。除了使用各种语言来实现鉴权外,使用 Traefik 也可以简单快速的满足这些需求。 阅读全文

更简单的 Traefik 2 使用方式

, , ,
经过一年多的实践,对于使用 Traefik 有了一些更深入的体会,本篇先来介绍如何简化使用,后续会逐步展开聊聊如何在云上使用这款“云原生”工具,以及结合它做一些提升业务效率和开发效率的实践。在 [Traefik 2 使用指南,愉悦的开发体验]、[配置基于Traefik v2的 Web 服务器] 文章中,使用 Traefik 的方案引入了比较多的配置,如果你并不是在一个复杂场景使用,这样的配置是可以简化的。 阅读全文

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

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

实时查看容器日志

, , ,
介绍一款使用了几个月的开源小工具,[Dozzle]。它是一款轻量、简单的容器日志查看工具。本篇将简单介绍如何使用它,包括搭配 Traefik,以及如何快速从源码构建它。 阅读全文

如何通过容器搭建稳定可靠的私有网盘(NextCloud)

前一阵 SIGIR 2020 国际信息检索研究和发展大会有一个有意思的需求,需要支持几百位国内外学者能够快速上传自己的会议视频,并支持对视频进行快速的网络分发(在线播放)。考虑到网络访问质量和文件外链播放诉求,我们所熟知的成熟的国内网盘服务被排除在外,又因为国内访问海外网盘服务不畅快,所以海外网盘也被排除在外。我们之前常常使用的 SKYNAS (群晖)镜像因为在线版本对人数有限制,所以也不能解决这个需求。于是自建一个简单的网盘服务的需求也被提上了日程。 阅读全文

轻量安全的部署方案

, , , ,
智源大会结束,虽然还是很忙,但是总归有了一些时间,可以开始对之前的文章计划进行补完操作,本篇是第一篇补全,聊聊如何在容器环境下,花比较少的资源,来搞定高质量发布。这个方案适用于小型团队、个人HomeLab,本文有别于我们当前团队使用的 GitLab Runner 相对比较重的方案,如果你面临的是更大规模的团队协作、项目管理需求和追求更全面的 CI/CD 阶段解耦,可以浏览我之前写的关于 [GitLab] 的内容。 阅读全文