开源实例之Kubernetes 前言 Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes,发音是[kubə'netis],常被简称为 K8s,即 k + 中间8个字母 + s。这种极客命名,另一个知名例子是多语言软件常见的 i18n(internationalization)。 Kubernetes 源于希腊语,有“舵手”的意思,正如它的 logo 是一个船舵。 官网地址是:https://kubernetes.io Kubernetes的发展 Kubernetes 起源于 Google 内部项目,在 2014 年被正式开源。在 Docker 开始爆火的时期,Kubernetes... 2022-12-05
开源实例之Docker 前言 Docker 是最知名的开源容器引擎,是将容器技术推广开来的超级应用。官网的 slogon 是 "Develop faster. Run anywhere." 相对于虚拟机,容器最大的优势是极低的开销和超快的部署。这正是我实现这个开源实例系列的技术基础。本篇是对《开源实例之多项目部署方案》中 Docker 部分的展开。 相关镜像构建脚本已经开源,详见《开源实例之本系列镜像开源》。 容器架构方案 Docker 的最佳实践是一个容器只跑一个应用。比如 LNMP 环境可以用三个容器分别跑 PHP、MySQL 和 Nginx。通过 docker-compose 编排组网,管理起来倒也方便。 但在本系列中,这样部署实际很麻烦。像 WordPress 一键安装,默认 PHP 和 MySQL 在同一台机器上,相关配置是 localhost。多个容器组网的映射,就要改相应代码。 最初图方便,我将一个... 2022-12-04
Typecho插件:哀悼日首页灰屏 [附件] 前面写了《WordPress插件:哀悼日首页灰屏》,顺便再写一版 Typecho 的插件。功能是实现仅首页灰屏,而非全站灰屏。压缩包在文末。 主要用到了方法 is('index') 判断当前是首页。 演示地址:http://typecho.dujun.eu.org 2022-12-04
WordPress插件:哀悼日首页灰屏 [附件] Justin在前面的文章问我 WordPress 怎样实现首页灰屏,而不是全站灰屏。因此写了这个插件,后台上传安装即可。安装包在文末。 主要用到了两个方法: is_home() 判断是一般首页 is_front_page() 判断是用户将单页定义为首页的情况 演示地址:http://wordpress.dujun.eu.org 2022-12-02
江泽民同志在上海逝世享年96岁 中国共产党中央委员会、中华人民共和国全国人民代表大会常务委员会、中华人民共和国国务院、中国人民政治协商会议全国委员会、中国共产党和中华人民共和国中央军事委员会,极其悲痛地向全党全军全国各族人民通告:我们敬爱的江泽民同志患白血病合并多脏器功能衰竭,抢救无效,于2022年11月30日12时13分在上海逝世,享年96岁。 为表哀思,本文置顶、首页灰屏,至追悼会结束。 2022-12-01
开源实例之本系列镜像开源 前言 前文说到,本系列实例全部改为容器部署。既然本身就是关于开源,那么索性将所有镜像也开源出来,供有需要的朋友参考。主要用到了 Dockfile 构建,以及 docker-compose 编排。 项目地址 https://github.com/dujunio/open-source-examples 目录说明 00000_BASE 目录为基础镜像,其他目录为相应的项目镜像。 构建说明 以构建 WordPress 项目为例,进入目录 10111_WordPress。修改 data/root/start/mysql_init.sql,将 “dujun.space” 相关的域名替换为你自己的域名。然后执行构建和启动。 构建镜像: docker-compose -f build.yml build 启动容器(组): docker-compose up -d 后记 体验更多开源实例 2022-11-30
开源实例之多项目部署方案 前言 目前部署的开源实例都是 LNMP 架构,在没有并发的情况下,不会随着项目数量增加而导致系统负载显著提高。但想要部署编译型(常驻内存)实例,几个项目就不够用了。 如果这个问题不解决,本系列大概就要降级为 “PHP 和 JS 开源实例系列”,有点违背初衷。所以我将所有实例重构成了容器实现,在上个周末完成了架构方案。 部署方案 关键思路就是容器部署项目实例,并且能够定期销毁、自动重建。主要用到了 Docker、PHP webman 和 Nginx。 Docker 使用 Docker 做容器化部署。通过 docker-compose 编排,一个项目整合成一组容器。比如 WordPress 实例,包含了 LNMP 容器组和自身的代码容器。这样做的好处是方便隔离和回收,同时一整个项目只需要暴露一个 WEB 端口。 关于 Docker 配置细节会单独写一篇文章介绍:开源实例之Docker。 web... 2022-11-29
为了开源系列文章,需要做图片裁剪。mac 上找了各种软件,即使选择 100 质量还是会有肉眼可见的失真。转而尝试用 windows 软件,结果发现用 win10 自带的照片程序,不仅操作更方便,裁剪的图片文件更小,而且还更保真。老大哥毕竟是底蕴深厚,牛批。 2022-11-29
开源实例之phpMyAdmin 前言 phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. 以上官网的介绍很到位了。phpMyAdmin 是基于 PHP 开发的,以 Web 方式管理 MySQL 的工具。它为MySQL和MariaDB数据库提供了丰富的操作接口。 实例地址 http://phpmyadmin.dujun.eu.org 实例配置 配置 描述 系统 Debian 服务端 PHP 8.1 数据库 MariaDB 10.5 服务器 Nginx 程序 phpMyAdmin 5.2.0 实例部署 phpMyAdmi... 2022-11-26
打开B站,收到通知说我的视频增加了多少播放和点赞。那个视频是以前文章里的,因为文件较大,传到B站当图床用了。没再去关注过,想不到还有自然流量。 挺有意思的,想起郭老师说的“你不知道哪片云彩有雨”。凡事想做就早点去做吧,总会随着时间有所积累。 2022-11-24