杜郎俊赏 - dujun.io

开源实例之Docker

docker-example封面
前言 Docker 是最知名的开源容器引擎,是将容器技术推广开来的超级应用。官网的 slogon 是 "Develop faster. Run anywhere." 相对于虚拟机,容器最大的优势是极低的开销和超快的部署。这正是我实现这个开源实例系列的技术基础。本篇是对《开源实例之多项目部署方案》中 Docker 部分的展开。 相关镜像构建脚本已经开源,详见《开源实例之本系列镜像开源》。 容器架构方案 Docker 的最佳实践是一个容器只跑一个应用。比如 LNMP 环境可以用三个容器分别跑 PHP、MySQL 和 Nginx。通过 docker-compose 编排组网,管理起来倒也方便。 但在本系列中,这样部署实际很麻烦。像 WordPress 一键安装,默认 PHP 和 MySQL 在同一台机器上,相关配置是 localhost。多个容器组网的映射,就要改相应代码。 最初图方便,我将一个...

2022-12-04

Typecho插件:哀悼日首页灰屏

typecho-plug-mourn-index封面
[附件] 前面写了《WordPress插件:哀悼日首页灰屏》,顺便再写一版 Typecho 的插件。功能是实现仅首页灰屏,而非全站灰屏。压缩包在文末。 主要用到了方法 is('index') 判断当前是首页。 演示地址:https://typecho.dujun.eu.org

2022-12-04

WordPress插件:哀悼日首页灰屏

wordpress-plug-mourn-index封面
[附件] Justin在前面的文章问我 WordPress 怎样实现首页灰屏,而不是全站灰屏。因此写了这个插件,后台上传安装即可。安装包在文末。 主要用到了两个方法: is_home() 判断是一般首页 is_front_page() 判断是用户将单页定义为首页的情况 演示地址:https://wordpress.dujun.eu.org

2022-12-02

江泽民同志在上海逝世享年96岁

jiangzemin-died-in-shanghai-at-the-age-of-96封面
中国共产党中央委员会、中华人民共和国全国人民代表大会常务委员会、中华人民共和国国务院、中国人民政治协商会议全国委员会、中国共产党和中华人民共和国中央军事委员会,极其悲痛地向全党全军全国各族人民通告:我们敬爱的江泽民同志患白血病合并多脏器功能衰竭,抢救无效,于2022年11月30日12时13分在上海逝世,享年96岁。 为表哀思,本文置顶、首页灰屏,至追悼会结束。

2022-12-01

开源实例之本系列镜像开源

docker-images-of-open-source-examples封面
前言 前文说到,本系列实例全部改为容器部署。既然本身就是关于开源,那么索性将所有镜像也开源出来,供有需要的朋友参考。主要用到了 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

1075封面
为了开源系列文章,需要做图片裁剪。mac 上找了各种软件,即使选择 100 质量还是会有肉眼可见的失真。转而尝试用 windows 软件,结果发现用 win10 自带的照片程序,不仅操作更方便,裁剪的图片文件更小,而且还更保真。老大哥毕竟是底蕴深厚,牛批。

2022-11-29

开源实例之phpMyAdmin

phpmyadmin-example封面
前言 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数据库提供了丰富的操作接口。 实例地址 https://phpmyadmin.dujun.eu.org 实例配置 配置 描述 系统 Debian 服务端 PHP 8.1 数据库 MariaDB 10.5 服务器 Nginx 程序 phpMyAdmin 5.2.0 实例部署 phpMyAdm...

2022-11-26

打开B站,收到通知说我的视频增加了多少播放和点赞。那个视频是以前文章里的,因为文件较大,传到B站当图床用了。没再去关注过,想不到还有自然流量。 挺有意思的,想起郭老师说的“你不知道哪片云彩有雨”。凡事想做就早点去做吧,总会随着时间有所积累。

2022-11-24

开源实例之Typecho

typecho-example封面
前言 Typecho 是由 type 和 echo 两个词合成的,来自于开发团队的头脑风暴。 Typecho 是一个简单快速的博客平台,源自开发团队在精神层面上的洁癖和狂热。项目本身非常轻量,很适合有开发基础的用户进行 DIY。 实例地址 https://typecho.dujun.eu.org 实例配置 配置 描述 系统 Debian 服务端 PHP 8.1 数据库 MariaDB 10.5 服务器 Nginx 程序 Typecho 1.2.0 实例部署 Typecho 的部署非常简单。 权限要求 具有系统读写权限 已安装 PHP 已安装数据库,如 MySQL 已安装 Nginx 域名解析 以 Nginx 为例,配置 url 重写: if (!-e $request_filename) { rewrite ^/(.*) /index.php/$1 last; } 建数据库 创建一个数...

2022-11-21

分页: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197