Jenkins + Harbor 容器化持续集成

Photo by Rory McKeever on Unsplash

使用 Jenkins + Harbor 持续集成方案可以在代码仓库有提交时自动对代码进行编译并打包成容器,上传到本地 Harbor,之后 Jenkins 执行 SSH 命令远程控制生产环境从 Harbor 拉取最新容器并运行。

安装 Jenkins 与 Harbor

两者安装文档比较详细。目前主流都是通过 docker 进行部署。

流水线配置

Jenkins 流水线是将一系列动作放在一个配置中完成。在我的场景中我希望做到两点。一是流水线能够由 Git 仓库自动触发动作,自动完成代码的编译和镜像的制作上传。二是在流水线脚本中能够使用 SSH 命令远程访问生产环境主机做拉取容器镜像的操作。

继续阅读Jenkins + Harbor 容器化持续集成

虚拟小机 MariaDB 配置

Photo by K. Mitch Hodge on Unsplash

当虚拟主机内存小于 1G 或者更小时,往往会遇到 MariaDB 数据库挂掉后不能由守护进程再次拉起,后台日志显往往如下所示显示内存不足的提示。这也是 WordPress 在小型虚拟机上部署会遇到最大的问题。

InnoDB: Fatal error: cannot allocate memory for the buffer pool

这种现象在分配虚拟内存之后故障发生率会明显降低,但仍偶发。目前最好的解决方法是在 MariaDB 配置文件中,在字段中 [mysqld] 块中关闭一个模式。

[mysqld]  
performance_schema = off
继续阅读虚拟小机 MariaDB 配置

搭建最简单的 HTTP 代理服务器

Photo by Wengang Zhai on Unsplash

HTTP/HTTPS 代理本质上是正向代理的一种。和反向代理最大的不同之处在于,正向代理必须在客户端进行设置,客户是有感知的,比如客户在客户端安装 VPN 软件接入内网就是正向代理的一种。而反向代理在服务器端配置,客户是没有感知。常用于后端应用的配置中。

在本文中,我尝试了在 Windows 环境下搭建 HTTP 代理服务器的两种方法:Nginx 和 GoProxy,希望能给你一点启发。

继续阅读搭建最简单的 HTTP 代理服务器

手动迁移 WordPress 站点

Photo by Barth Bailey on Unsplash

最近将个人站点从腾讯云迁至阿里云,动手迁移了一下整个站点。迁移过程比较简单,但是需要提前做好一些准备。

目前的政策是云解析只能解析到腾讯云或者阿里云本地的服务器,因此这边还涉及到腾讯云和阿里云域名转入转出的问题。但是腾讯云上原来申请的 SSL 证书仍然可用。

继续阅读手动迁移 WordPress 站点