Decentralization? We're still early!
返回課程

主权个人的WordPress入门课

0%完成
0/0 Steps
  1. 第一部分 WordPress基础知识入门

    WordPress:内容创作者的知识输出及展示利器
  2. WordPress的开源生态:开源软件运动、GPL协议与AI赋能
  3. WordPress的软件版本、路线图与社区文化
  4. 值得关注的WordPress信息源与常用工具
  5. 五分钟安装指南、主题插件与备份还原方法
  6. 第二部分 WordPress与本地知识管理
    如何在本地电脑/服务器快速部署WordPress站点
  7. 最强CMS:WordPress的文件结构、前端与后端
  8. 学习使用Gutenberg编辑器进行内容创作和排版
  9. 学习使用全站编辑主题(FSE)进行站点设计
  10. 自定义文章类型:WordPress的基础功能及其拓展
  11. 第三部分 如何在云端部署WordPress
    云端部署WordPress的方法:选购虚拟主机或VPS
  12. 如何实现WordPress站点的自动化部署
  13. 如何优化Linux服务器设置实现安全加固
  14. 如何压缩WordPress站点图片并设置CDN
  15. 第四部分 WordPress的维护优化与安全加固
    WordPress数据管理:学习导入导出数据、清理冗余数据
  16. 动态数据调取优化:为WordPress站点添加配置Redis缓存
  17. 页面速度优化:为WordPress站点添加配置fastcgi缓存
  18. 优化WordPress的安全设置,实现站点的安全加固
  19. 第五部分 WordPress主题及插件进阶研究
    WordPress主题的选择与站点设计基础知识
  20. 善用WordPress插件:优秀插件推荐及其使用
  21. 学习使用Kadence Blocks优化页面设计
  22. 学习使用Jetengine为WordPress创建管理动态内容
  23. 学习使用LearnDash创建 WordPress 学习管理系统
  24. 学习使用Woocommerce创建网上商店
  25. 第六部分 内容创作者的WordPress:迈向Web3
    如何通过WordPress打造个人品牌:一个简易指南
  26. AI时代的内容创作:文章配图与音视频版本生成
  27. 如何使用JPG Store铸造基于Cardano链的NFT
  28. 为WordPress添加比特币收款和比特币支付网关
  29. 为WordPress添加Cardano支付网关和Cardano钱包登录
  30. 为WordPress添加以太坊支付网关和以太坊钱包登录
  31. WordPress用户管理与会员管理、内容门控
  32. 第七部分 WordPress汉化与设计优化
    WordPress主题、插件的汉化:Poedit 使用教程
  33. 为WordPress站点添加自定义字体、繁简体转换、多语言
  34. 如何通过调整CSS美化WordPress站点细节
  35. 如何开发自定义插件完善WordPress功能
  36. WordPress的功能扩展:FSE与Interactivity API
  37. 第八部分 AI时代的WordPress实践
    AI赋能WordPress开发:技术实践与未来展望
  38. Trilium RSS Digest 插件使用教程
  39. Cardano NFT Minter 插件使用教程
  40. Trilium AI Design 插件使用教程
課 12 的 40
In Progress

如何实现WordPress站点的自动化部署

Brave 2024-02-01

对于主权个人而言,WordOps、EasyEngine和Webinoly都是非常好用的工具。相较于从零开始学编程,不如学习如何利用现有开源软件。

📖 假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。
——《荀子·劝学》

主权个人要善于使用工具。在数字时代,工具的选择往往决定了效率的上限。掌握正确的自动化工具,能让我们用10%的时间完成90%的重复劳动,从而将精力集中在真正需要人类创造力的地方。

会用软件,降低成本,集中精力,才是数字化核心——把原来的技能和数字技术结合。不要重复造轮子。编程的话,即便是编程高手,一个人也很难达到发展了几十年的开源软件的成熟程度。这些工具凝结了全球开发者社区多年的智慧和实践经验,其稳定性、安全性和功能完备程度,远非个人短期开发所能企及。


🔧 本节课涵盖的工具概览

在本节课中,我们将介绍四款主流的WordPress自动化部署工具:

工具名称核心特点适用场景架构方式
Webinoly轻量高效,专注NGINX优化追求极致性能的用户宿主机直装
EasyEngineDocker容器化,隔离性强需要多站点隔离的用户Docker容器
WordOpsEasyEngine v3分支,功能丰富不喜欢Docker复杂性的用户宿主机直装
SlickStack极简主义,专注WordPress单站点极致优化的用户宿主机直装

一、使用Webinoly简化Web服务器安装 🌐

1.1 什么是Webinoly

Webinoly是一个简化和优化你的NGINX web服务器安装、配置和管理的工具。根据其官方网站的最新描述,Webinoly的核心定位是:"Deploy a secure, high-performance LEMP stack in seconds"(在几秒钟内部署一个安全、高性能的LEMP栈)。

它提供了一个完整的LEMP栈,即:

  • Linux Ubuntu
  • Nginx(高性能Web服务器)
  • MariaDB(或MySQL,你可以选择)
  • PHP

你也可以根据需要安装单独的软件包。它还提供了一些高级功能,支持WordPress和PHP网站,并且为你的网站和应用提供了一个现代和安全的配置。也支持ARM设备!

1.2 Webinoly的主要特点

🚀 核心功能特性:

  • ✅ 通过一些独特的命令,你可以轻松地创建、删除、禁用网站
  • ✅ 通过Let's Encrypt,你可以为你的网站免费获取SSL证书,并且自动配置服务器
  • ✅ 通过HTTP/2,你可以显著提高你的内容的传输速度(HTTP/3支持即将到来!
  • 支持PHP 8.3、8.2、8.1、8.0及7.4版本
  • ✅ 支持Nginx FastCGI缓存和Redis对象缓存
  • ✅ 在Qualys(SSL Labs)测试中,你可以获得A+的评级
  • ✅ 自动优化你的服务器,以充分利用可用的资源
  • ✅ 只使用官方和知名的来源(PPA),不使用自定义编译或修改的软件包,以保证你的服务器的安全性和可靠性

🔒 安全特性(新增补充):

Webinoly在安全方面提供了多层防护机制,包括:

  • 自动配置的安全Header(如HSTS、X-Frame-Options等)
  • 内置的暴力破解防护
  • 可选的HTTP Basic Authentication
  • 自动的安全更新机制

1.3 Webinoly的使用方法

Webinoly的使用方法非常简单,只需要一条命令,你就可以安装和配置你的web服务器:

wget -qO weby qrok.es/wy && sudo bash weby

然后,你就可以使用Webinoly提供的一系列工具和命令来管理你的web服务器,例如:

操作命令说明
创建WordPress网站sudo site example.com -wp一键创建完整的WordPress站点
启用SSL证书sudo site example.com -ssl=on自动申请Let's Encrypt证书
更改PHP版本sudo stack -php-version=8.2切换PHP运行版本
查看实时日志sudo log -watch实时监控服务器日志
查看站点列表sudo site -list列出所有已创建的站点
启用缓存sudo site example.com -cache=on启用FastCGI缓存

📚 扩展学习资源:

1.4 Webinoly核心模块详解

根据官方文档,Webinoly提供五大核心模块:

  1. HttpAuth - 基础HTTP认证管理
    • 创建/删除用户
    • 保护站点、自定义文件夹或文件
    • IP白名单设置
    • WordPress登录/管理员保护
  2. Log - 日志管理和实时查看器
    • 开启/关闭Nginx访问日志
    • 实时日志监控
  3. Site - 站点管理
    • 创建、删除、禁用站点
    • SSL证书管理
    • 缓存配置
  4. Stack - 软件栈管理
    • LEMP组件安装/卸载
    • PHP版本切换
    • 数据库管理
  5. Webinoly - 核心配置
    • 系统优化
    • 安全设置
    • 备份管理

Webinoly是一个强大的工具,可以让你轻松地管理你的NGINX web服务器。Webinoly遵循最佳实践,为你的网站提供最高的性能和安全性。如果你想要一个快速、稳定、灵活的web服务器,那么Webinoly是你的最佳选择。


二、使用EasyEngine简化WordPress安装 🐳

2.1 什么是EasyEngine

EasyEngine是一个基于Python的开源工具(v4版本后转为基于Docker),可让您使用几个简单的命令快速部署和管理WordPress、Magento、PHP和HTML网站。EasyEngine支持Nginx、PHP8、MariaDB和Redis等技术。

💡 重要变化说明:

EasyEngine在v4版本进行了重大架构调整,从宿主机直接安装转向了Docker容器化部署。这意味着每个站点都运行在独立的容器中,提供了更好的隔离性和可移植性,但同时也增加了一定的资源开销和学习曲线。

EasyEngine是一个在Linux或Mac上安装WordPress、Nginx、PHP、MySQL、Redis和其他依赖项,并让你轻松创建和管理WordPress站点的工具。它还支持HTTPS、缓存、更新、cron、开发者工具、Docker等多种功能。

2.2 EasyEngine的主要特点

🐳 Docker化架构的优势:

  • ✅ 通过一些简单的命令,你可以快速地安装和配置你的web服务器
  • ✅ 通过Let's Encrypt,你可以为你的网站免费获取SSL证书,并且自动续期
  • ✅ 通过HTTP/2,你可以显著提高你的内容的传输速度
  • 支持PHP 8.3、8.2、8.1、8.0及7.4版本
  • ✅ 支持Nginx FastCGI缓存和Redis对象缓存
  • ✅ 在Qualys(SSL Labs)测试中,你可以获得A+的评级
  • 站点隔离:每个站点运行在独立容器中,互不影响
  • 可移植性强:可以轻松迁移或备份整个站点环境
  • 开发环境一致性:本地开发环境与生产环境完全一致

2.3 EasyEngine的使用方法

EasyEngine的使用方法非常简单,只需要一条命令,你就可以安装EasyEngine:

wget -qO ee rt.cx/ee4 && sudo bash ee

然后,你就可以使用EasyEngine提供的一系列工具和命令来管理你的web服务器,例如:

操作命令说明
创建WordPress网站sudo ee site create example.com --type=wp创建标准WordPress站点
创建带缓存的WP站点sudo ee site create example.com --type=wp --cache创建带Redis缓存的站点
为网站启用SSL证书sudo ee site update example.com --ssl=le申请Let's Encrypt证书
查看站点状态sudo ee site info example.com查看站点详细信息
进入站点容器sudo ee shell example.com进入站点的Docker容器
站点列表sudo ee site list列出所有站点

📚 扩展学习资源:

  • EasyEngine的文档和命令列表可以在官方文档查看
  • 你也可以在GitHub上找到EasyEngine的源代码和反馈渠道

EasyEngine是一个强大的工具,可以让你轻松地管理你的Nginx web服务器,无论你是一个新手,还是一个专业人士,你都可以从EasyEngine中受益。EasyEngine遵循最佳实践,为你的网站提供最高的性能和安全性。如果你想要一个快速、稳定、灵活的web服务器,那么EasyEngine是你的最佳选择。


三、使用WordOps简化WordPress安装 ⚡

3.1 什么是WordOps

WordOps是一个开源的、用于管理WordPress网站的自动化工具。它提供了一键安装流程,可以自动安装和配置大多数常用的开源工具,如Nginx、MySQL、PHP、WordPress等。基于wp-cli并提供了一个命令行界面,WordOps可以让用户使用简单的命令来执行各种操作,例如安装、更新、备份和恢复WordPress网站。借由Shell脚本和Python工具,WordOps能够在Linux主机上部署、优化并管理多个WordPress网站。

3.2 WordOps的诞生背景

🔍 为什么会有WordOps?

不使用Docker是其存在的原因: WordOps是EasyEngine v3的分支。当EasyEngine在v4版本转向以Docker为核心时,许多用户因不满其复杂性和资源消耗,创建了坚持在宿主机直接运行(Bare Metal/VPS)的WordOps。

直接管理堆栈: WordOps旨在通过脚本直接在操作系统(如Ubuntu)上安装和优化Nginx、PHP、MariaDB等服务,以获得极致性能。

💡 选择建议:

如果您需要使用Docker容器化管理WordPress,可以考虑以下选项:

  1. EasyEngine v4 - WordOps的"同门师兄",官方原生支持Docker,所有站点都在隔离的容器中运行
  2. Docker官方WordPress镜像 - 直接使用WordPress官方镜像配合docker-compose搭建

3.3 WordOps vs EasyEngine:核心缓存技术区别

特性WordOpsEasyEngine v4
主要技术Nginx FastCGI Cache(直接在Web服务器层处理)Redis Full-Page Cache(容器间通信)
Brotli压缩原生支持(比Gzip更快更小)默认通常依赖宿主机或CDN处理
对象缓存Redis Object CacheRedis Object Cache
清理机制集成nginx-cache-purge模块,清理极快通过ee-cleaner或Redis插件清理

3.4 对性能的实际影响

⚡ 响应延迟(TTFB):WordOps略胜

由于其直接在Nginx层通过FastCGI Cache命中请求,不需要进入PHP容器或Redis容器查询,路径最短,TTFB(首字节时间)通常比EasyEngine低。

EasyEngine存在微小的网络开销,因为请求需要在Nginx容器、PHP容器和Redis容器之间流转。

🎯 管理便利性:EasyEngine的优势在于"自动配置"

对于小白用户,EasyEngine自动配置好Redis缓存插件,基本做到开箱即用。

WordOps需要你对命令参数有一定了解,手动选择最适合你站点的缓存模式。

3.5 WordOps的主要特点

以下是WordOps的一些主要特点:

  1. 🚀 快速部署 - WordOps允许您在几秒钟内部署一个全新的WordPress网站,包括安装WordPress,设置Nginx web服务器,配置SSL证书等等。
  2. 🔒 安全性 - WordOps提供了许多安全功能,如防火墙、限制XML-RPC请求和攻击保护。此外,WordOps还支持Let's Encrypt SSL证书,让您的网站可以通过HTTPS安全地访问。
  3. ⚡ 性能优化 - WordOps提供了许多用于提高WordPress网站性能的功能,包括Nginx FastCGI缓存、Redis对象缓存、PHP8支持和HTTP/2支持。WordOps还内置了Brotli压缩支持,相比传统的Gzip压缩,Brotli可以提供更高的压缩率(通常高15-25%),进一步加快页面加载速度。
  4. 🛠️ 易于维护 - WordOps的命令行界面使得维护和更新WordPress网站变得非常容易。您可以使用简单的命令来更新WordPress核心、主题和插件,进行数据库优化,以及进行网站的备份和恢复。
  5. 📈 可扩展性 - WordOps支持多个PHP版本,并可与其他热门的网站应用程序(如Drupal、Joomla和Magento)一起使用。
  6. 💰 开源和免费 - WordOps是完全开源的,您可以免费使用并根据需要修改其源代码。

3.6 如何使用WordOps

📋 安装步骤:

第一步: 在WordOps官网,你可以找到一键安装WordOps的命令:

wget -qO wo wops.cc && sudo bash wo

系统会提示:

WordOps (wo) require an username & and an email address to configure Git (used to save server configurations)
Your informations will ONLY be stored locally

根据提示填入自己的用户名和邮箱。

第二步: 加载命令行自动补全:

source /etc/bash_completion.d/wo_auto.rc

第三步: 设置命令别名:

echo -e "alias wo='sudo -E wo'" >> $HOME/.bashrc

第四步: 使别名生效:

source $HOME/.bashrc

第五步: 安装完整的LEMP栈:

wo stack install

系统会再次提示输入用户名和密码。然后,请务必记录好WordOps后端面板的账号密码

第六步(可选): 更改WordOps后端用户名和密码:

sudo wo secure --auth

🔧 常用命令速查表:

操作命令
创建WordPress站点wo site create example.com --wp
创建带缓存的站点wo site create example.com --wpfc
启用SSLwo site update example.com --letsencrypt
查看站点信息wo site info example.com
删除站点wo site delete example.com
更新WordPresswo site update example.com --wp
查看栈状态wo stack status

四、使用SlickStack简化WordPress安装 🎯

4.1 WordPress的性能挑战

WordPress是一个非常流行的内容管理系统,它可以让您轻松地创建和管理网站。然而,WordPress也有一些缺点,其中之一就是性能问题。WordPress是一个典型的PHP-MySQL应用,每次访问都需要与数据库进行交互,执行PHP代码,生成HTML页面,这些过程都会消耗服务器的资源,导致响应时间变慢,用户体验下降。为了解决这个问题,您可以使用一种叫做SlickStack的技术,来提高WordPress站点的速度和稳定性。

4.2 什么是SlickStack

SlickStack是一个免费的LEMP(Linux, Nginx, MySQL, PHP)栈自动化脚本,它是由LittleBizzy创建的,用于增强和简化WordPress的部署、性能和安全。

🎯 SlickStack的核心理念:

SlickStack是一个非常轻量级的脚本,它只包含了一些基本的bash命令和cron任务,它可以在任何Ubuntu或Debian的机器上运行,不需要任何依赖或控制面板。这种极简主义的设计理念使其成为追求极致WordPress性能的用户的理想选择。

SlickStack的原理是:它会在您的服务器上安装和配置一些必要的软件和服务,如Nginx、MySQL、PHP-FPM、Redis、Certbot等,然后它会根据一些预设的规则和参数,来优化和调整这些软件和服务的设置,以达到最佳的性能和安全。最后,它会将您的WordPress文件和数据库导入到服务器上,完成WordPress的安装和配置。

4.3 SlickStack的优点

⚡ 性能优势:

  • 提高了WordPress的响应速度,减少了页面加载时间,提升了用户体验和SEO排名。SlickStack使用了Nginx作为Web服务器,它比Apache更快更轻量,它还使用了FastCGI缓存和Redis缓存,来缓存静态和动态的页面,从而减少了后端的请求和处理。

🔒 稳定性与安全性:

  • 降低了服务器的负载,减少了数据库的压力,提高了WordPress的稳定性和安全性。SlickStack使用了MySQL作为数据库,它比MariaDB更稳定更兼容,它还使用了Percona Toolkit,来优化和修复数据库的表和索引。SlickStack还使用了Certbot,来自动申请和续期SSL证书,从而实现了HTTPS的加密和安全。

🛠️ 运维便利性:

  • 简化了WordPress的部署和管理,节省了时间和精力。SlickStack只需要一个简单的shell命令,就可以在几分钟内完成WordPress的部署和配置,您不需要手动安装和设置任何软件或服务。SlickStack还提供了一些方便的功能,如自动更新、自动备份、自动清理等,让您的WordPress网站始终保持最新和最干净的状态。

💡 SlickStack的独特之处:

与其他工具不同,SlickStack专注于单站点的极致优化。它不像WordOps或EasyEngine那样支持多站点管理,而是将所有资源和优化策略集中在一个WordPress站点上。这使得它特别适合那些只需要托管一个高性能WordPress站点的用户。

4.4 如何使用SlickStack

要使用SlickStack,您需要以下几个步骤:

📋 前期准备:

准备一个运行Ubuntu或Debian的服务器,您可以在任何云服务商那里购买或租用,如DigitalOcean、Vultr、Linode等。

⚙️ 安装步骤:

  1. 登录到您的服务器,使用以下命令下载并运行SlickStack脚本:
wget -O ss slick.fyi/ss && bash ss
  1. 然后按照提示输入一些必要的信息,如域名、邮箱等。
  2. 等待脚本执行完成,您可以在终端中看到一些输出信息,如安装的软件和服务、生成的配置文件等。
  3. 访问您的域名,您应该可以看到您的WordPress网站已经成功部署和运行,您可以开始使用和管理您的WordPress网站了。

📚 扩展学习资源:

如果遇到了任何问题,可参考SlickStack官方文档来进行排查和解决。


五、四款工具的综合对比 📊

5.1 技术架构对比

对比维度WebinolyEasyEngine v4WordOpsSlickStack
架构方式宿主机直装Docker容器宿主机直装宿主机直装
多站点支持✅ 支持✅ 支持✅ 支持❌ 单站点
资源占用中高最低
学习曲线中等较陡中等简单
隔离性一般优秀一般
可移植性一般优秀一般一般

5.2 适用场景建议

场景推荐工具原因
追求极致性能Webinoly / WordOps宿主机直装,无容器开销
需要多站点隔离EasyEngine v4Docker容器提供完美隔离
单站点极致优化SlickStack专为单站点设计
不熟悉DockerWordOps / Webinoly传统架构,易于理解
开发/测试环境EasyEngine v4环境一致性好
生产环境大流量Webinoly / WordOpsTTFB更低

5.3 缓存方案详细对比

缓存层级WebinolyWordOpsEasyEngine v4SlickStack
页面缓存FastCGI CacheFastCGI CacheRedis Full-PageFastCGI Cache
对象缓存RedisRedisRedisRedis
浏览器缓存✅ 自动配置✅ 自动配置✅ 自动配置✅ 自动配置
Brotli压缩✅ 原生支持✅ 原生支持依赖配置✅ 原生支持
缓存清理nginx-cache-purgenginx-cache-purgeRedis插件自动

六、本节课小结 📝

6.1 核心要点回顾

综上所述,这类开源工具的主要功能都是简化网站的架设和管理,隐藏技术细节,适合技术入门者使用。它们可以自动完成:

  • ✅ Nginx/Apache服务器的安装与配置
  • ✅ PHP多版本切换
  • ✅ MariaDB/MySQL数据库的安装与设置
  • ✅ WordPress等CMS的一键安装
  • ✅ SSL证书的自动申请与续期
  • ✅ 缓存系统的配置与优化

6.2 使用这些工具的价值

使用这些工具,可以节省很多手动部署和配置的时间,大大加快网站的构建速度,让开发者可以专注于功能和内容建设。对于开发者来说,这些工具也可以节省很多日常运维的时间,提高工作效率。

🎯 记住主权个人的核心原则:

善假于物——用正确的工具,做正确的事。

不要在重复造轮子上浪费时间,而是应该站在开源社区的肩膀上,将精力投入到真正创造价值的地方。选择适合自己需求的自动化部署工具,让技术为你服务,而不是被技术所困。

回复