文章列表

使用 Docker 和 Node 搭建公式渲染服务(中篇)

, , ,
在前篇文章[《使用 Docker 和 Node 搭建公式渲染服务(前篇)》]中,我们已经使用 Nginx 和开源软件 Math-API 搭建了一个基础的公式渲染服务。虽然在测试中可以正常工作,但是存在高并发的情况下服务压力过大,会导致预期之外的事情发生。本篇文章,我们就接着上篇文章内容,在尽可能“不编码”的情况下,继续进行性能调优工作。 阅读全文

使用 Docker 和 Node 搭建公式渲染服务(前篇)

, , ,
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类似需求的同学。 阅读全文

使用容器搭建简单可靠的容器仓库

提到容器仓库,我们一般会想到 Nexus、Harbor ,那么有没有更轻量可靠的方案呢。尤其是在频繁构建的 CI 流水线中、或是分布式的环境中需要高频拉取镜像的场景中。[《使用容器搭建 APT Cacher NG 缓存代理服务》]一文提到了缓存,虽然可以使用文末中的 Nginx 的补充方式来提供容器镜像导出文件的缓存托管,但是这种方式相比较使用镜像仓库而言,不能够直接使用 Docker Client 与之交互,需要借助导出和导入命令,使用起来颇有不便。本篇文章继续聊聊,如何使用容器搭建轻量可靠的镜像仓库:distribution。 阅读全文

使用容器搭建 APT Cacher NG 缓存代理服务

, , ,
最近在对公有云服务器进行梳理和资源整合,难免要进行机器初始化,以及针对部分镜像进行重新构建。在这个过程中,最浪费时间的莫过于软件包的下载,为了提升整体部署和镜像构建效率,可以搭建一台用于缓存各种常用软件包的缓存代理服务器。 阅读全文

如何在容器时代高效使用 Nginx 三方模块

, ,
在中文网络之中,存在着大量的陈旧内容,包括并不限于各种只能在特定环境中一次性安装使用的陈旧软件,Nginx 编译安装的内容尤甚。在继续 [Nginx NJS] 实战之前,我们可以先了解下如何相对快速、安全的使用 Nginx 三方模块。 阅读全文

使用 Docker 和 Nginx NJS 实现 API 聚合服务(前篇)

, , ,
两个月前,我曾写过一篇名为[《从封装 Nginx NJS 工具镜像聊起》]的文章,简单介绍了 Nginx 官方团队推出的 NJS 以及我为他定制的 Docker 镜像。这篇文章,我将介绍如何使用 Nginx NJS 用精简的代码行数编写一套 API 聚合工具,并如何使用 Docker 将其封装为可用服务。 阅读全文

Nginx 模块系统:前篇

,
从 Nginx 第一个版本至今已有 17 个年头,在这十余年里,Nginx 一直把持着 Web 服务软件第一梯队的宝座,它背后的丰富的模块系统,犹如蒙古铁骑举着 Nginx 的旗帜,扫荡了全球该领域的大半的市场。但是我们知道,软件编译是十分耗时的,非常不利于“快速行军”,除了堆硬件外,Nginx 是如何保持相对高速的迭代过程的呢?这背后模块系统和动态模块设计功不可没。本篇作为第一篇,聊聊书本之外的 Nginx 模块的一些事情,希望能让你对 Nginx 的模块有更立体的认知。 阅读全文

如何制作和使用自签名证书

, , , , ,
在计算机加密和安全领域中,我们会时常遇到:自签名安全证书。因为自签名证书签发相对于商业证书流程简单,费用低廉(除了电费几乎不花钱),更新容易。所以在开发领域、甚至一些小众场景下特别常见,比如 K8S / MySQL 集群中的 TLS 认证,一些大的集团、公司的内网服务、网站安全证书、企业路由器设备的管理后台、用于管理企业员工的“安全准入客户端”等不乏使用这个方案。本篇文章就来聊聊如何快速生成证书,以及如何安装部署到不同的环境中。 阅读全文

从封装 Nginx NJS 工具镜像聊起

, , ,
最近发现有不少需求可以通过 Nginx JavaScript (NJS)来完成,相比较运行一套完整的 Web 服务来说,轻量高效的方案总是惹人喜爱,更何况这套方案是由 Nginx 官方团队推出,并搭上了繁荣的 JavaScript 生态。本篇文章先从 NJS 容器封装、以及容器镜像优化来聊聊。 阅读全文

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

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