杜郎俊赏 - dujun.io

开源实例之Docker

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

2022-12-04

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

docker-images-of-open-source-examples封面
前言 前文说到,本系列实例全部改为容器部署。既然本身就是关于开源,那么索性将所有镜像也开源出来,供有需要的朋友参考。主要用到了 Dockfile 构建,以及 docker-compose 编排。 项目地址 考虑到实际情况,放在了国内仓库:https://gitee.com/dujunio/open-source-examples 目录说明 00000_BASE 目录为基础镜像,其他目录为相应的项目镜像。 构建说明 以构建 WordPress 项目为例,进入目录 10111_WordPress。修改 data/root/start/mysql_init.sql,将 “dujun.space”...

2022-11-30

开源实例之多项目部署方案

multi-project-deployment-of-open-source-examples封面
前言 目前部署的开源实例都是 LNMP 架构,在没有并发的情况下,不会随着项目数量增加而导致系统负载显著提高。但想要部署编译型(常驻内存)实例,几个项目就不够用了。 如果这个问题不解决,本系列大概就要降级为 “PHP 和 JS 开源实例系列”,有点违背初衷。所以我将所有实例重构成了容器实现,在上个周末完成了架构方案。 部署方案 关键思路就是容器部署项目实例,并且能够定期销毁、自动重建。主要用到了 Docker、PHP webman 和 Nginx。 Docker 使用 Docker 做容器化部署。通过 docker-compose 编排,一个项目整合成一组容器。比如 WordPress 实例...

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...

2022-11-26

开源实例之Typecho

typecho-example封面
前言 Typecho 是由 type 和 echo 两个词合成的,来自于开发团队的头脑风暴。 Typecho 是一个简单快速的博客平台,源自开发团队在精神层面上的洁癖和狂热。项目本身非常轻量,很适合有开发基础的用户进行 DIY。 实例地址 https://typecho.dujun.eu.org/ 实例配置 配置 描述 服务端 PHP 8.1.13 数据库 MariaDB 10.5.15 Typecho 1.2.0 主题 Maupassant 更多服务器配置 实例部署 Typecho 的部署非常简单。 权限要求 具有文件目录读写权限 已安装 PHP 已安装数据库,如 Mysql 已安装 web...

2022-11-21

开源实例之WordPress

wordpress-example封面
前言 WordPress 是最知名的开源建站系统,没有之一。主机商基本都将 WordPress 一键部署作为标配提供。2022 年最新数据,WordPress 占据了全球 CMS 市场 64.2% 的份额,所以它早已不是最初的博客工具。不过本系列仍将其归为开源博客系统来介绍。 实例地址 https://wordpress.dujun.eu.org/ 实例配置 配置 描述 服务端 PHP 8.1.13 数据库 MariaDB 10.5.15 WordPress 6.1.1 主题 Maupassant 更多服务器配置 实例部署 WordPress 的部署非常简单。 权限要求 具有文件目录读写权限...

2022-11-20

macOS 根目录创建软链接

macOS 从某个系统版本开始,禁止在根目录创建目录和文件了。关闭 SIP (System Integrity Protection) 等方法早已失效。今天发现了新的解决办法,亲测有效: 创建 /etc/synthetic.conf 文件,写入软链接,例如: backup /Users/data/backup 左侧是软链接目录,前面不写“/”; 右侧是源目录路径; 中间由 tab 键分隔。 重启即生效。

2022-11-15

php 双问号可以链式使用

刚才改网站代码,偶然发现 php 双问号是可以链式使用的: $ret = $a ?? $b ?? $c ?? 4; 原本我是应该加括号的: $ret = $a ?? ($b ?? ($c ?? 4)); 无心之失忘了加括号,竟然可以执行,才发现双问号可以链式使用。 之所以有这样的乌龙,是因为我这个从 php5 时代入行的古典程序员,对新的语法糖是想当然的,没有去仔细看过文档。双问号的使用习惯也是从三元式演变过来的,自然没想过还能链式使用。 用三元式表达上面的语句是这样的: $ret = isset($a) ? $a : (isset($b) ? $b : (isset($c) ? $c...

2022-11-11

CleanCSS - 移除未使用的 CSS 代码

cleancss-remove-unused-css封面
应用:CleanCSS 地址:https://dujun.eu.org/cleancss 功能:分析页面中引用的 CSS 文件,打包成单一的干净文件用于替换所有引用 适用:独立页面 一、缘起 我导航站用了开源项目WebStackPage,首次静态资源加载有 1.5M,一部分原因是它使用了第三方库,比如 Bootstrap。当然,第三方库只有少量代码实际被用到,所以我就想找个办法,把未使用的 CSS 代码移除,使得静态文件更小。 二、方案 很快就找到了这个网站https://unused-css.com/。它可以很好地实现我的需求,不过有一个小问题,它是收费的,最低 25 美元一个月。 Only...

2022-10-31

我还在用 jQuery

一、前言 我是后端开发出身,前端还停留在用原生 js 和 jQuery 写代码的水平。这次重构副站dujun.eu.org考虑过前端要不要用现代框架来写。三大框架里面,Angular 和 React 不打算碰,去看了最容易入门的 Vue。在 B 站看了两天的教程,喜欢不起来。 二、Vue Vue 当然很好,有优雅的设计思路,是真正意义上的框架。双向绑定,只需处理数据,不用亲自操作 DOM。但是对我而言,有两方面原因让我放弃 Vue。 (一)Vue 语法 Vue 的编写方式就像一门新的语言,需要记很多的语法糖。如果不打算深入前端工作,对这个学习积累没有很高的兴致。更真实的是...

2022-10-28

分页: 1 2 3 4 5 6