杜郎俊赏 - dujun.io

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

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

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

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

开源实例之WordPress

wordpress-example封面
前言 WordPress 是最知名的开源建站系统,没有之一。主机商基本都将 WordPress 一键部署作为标配提供。2022 年最新数据,WordPress 占据了全球 CMS 市场 64.2% 的份额,所以它早已不是最初的博客工具。 实例地址 https://wordpress.dujun.eu.org 实例配置 配置 描述 系统 Debian 服务端 PHP 8.1 数据库 MariaDB 10.5 服务器 Nginx 程序 WordPress 6.1.1 实例部署 WordPress 的部署非常简单。 权限要求 具有系统读写权限 已安装 PHP 已安装数据库,如 MySQL 已安装 Nginx 域名解析 以 Nginx 为例,配置 url 重写: if (!-e $request_filename) { rewrite ^/(.*) /index.php/$1 last; }...

2022-11-20

开源实例系列

前言 作为一名技术,自然对开源世界心向往之。常有朋友问我如何搭建博客,WordPress 怎么样。我想最好就是生成一个实例,让他们亲身体验前后台的使用,客观了解是否适合自己。推而广之,我希望将各种知名的开源项目部署在相同服务器上展示。一方面可以宣传开源,另一方面让大家在同等条件下直观地对比各种系统。 本篇为开源实例系列文章的导航页。 个人实例 动态博客 WordPress 开源实例之WordPress Typecho 开源实例之Typecho emlog 开源实例之emlog Z-Blog 开源实例之Z-Blog Halo 开源实例之Halo Drupal 开源实例之Drupal JPress 开源实例之JPress Tale 开源实例之Tale Ghost 开源实例之Ghost Mblog 开源实例之Mblog Serendipity 开源实例之Serendipity FlatPress...

2022-11-18

分页: 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