杜郎俊赏 - dujun.io

开源实例之容器最佳实践

docker-best-practices-for-open-source-examples封面
前言 前文提到,本系列实例采用运行时容器 + 数据容器的部署方式。当项目多样性增加,运行时环境所需应用的排列组合也在增加。考虑到可维护性,决定遵循最佳实践重构,即一个容器只运行一个应用,通过编排完成部署。 本文以 WordPress 为例,示范如何以 Docker 最佳实践部署 LNMP 环境。 容器划分 WordPress 项目需要 4 个容器,即 PHP 容器、MySQL 容器、Nginx 容器和数据容器(WordPress 代码和上传文件存储)。 镜像构建Dockerfile 系统镜像 #Debian 系统镜像,包含 Debian 11.5,基于官方镜像 debian:stable-20221205-slim FROM debian:stable-20221205-slim MAINTAINER dujun ENV LANG zh_CN.UTF-8 ENV LANGUAGE zh_C...

2022-12-13

开源实例之Yaf

yaf-example封面
前言 Yaf (Yet Another Framework) 是我最喜欢的 PHP 开发框架。本站基于 Yaf 开发。 git 地址:https://github.com/laruence/yaf pecl 地址:https://pecl.php.net/package/yaf Yaf的介绍 Yaf is a PHP framework similar to zend framework, which is written in c and built as PHP extension. Yaf 是一个C语言编写的、基于PHP扩展开发的,被誉为最快的PHP开发框架。Yaf 的作者是人称“亚一程”(亚洲第一程序员)的鸟哥(惠新宸)。 Yaf的优点 引用鸟哥的原话,Yaf主要有如下优点: * 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销. * 所有的框架类, 不需...

2022-12-12

开源实例之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

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

开源实例之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