如何在Docker中使用EasyEngine设置WordPress?

使用EasyEngine在云端或VPS上通过Docker快速设置WordPress。

Docker在过去几年中取得了出色的增长,并且仍在不断增长。它无处不在-从初创公司到企业。

Docker相对于传统虚拟机,Docker具有一些很酷的优势,但这篇文章不是讨论这个的。如果您有兴趣深入学习,我建议您参考这个online course

回到主题…

所以您知道或听说过Docker的好处,并且渴望尝试用于WordPress。从技术上讲,有很多方法可以做到这一点,但让我们看看能让生活更轻松的EasyEngine

我在Google Cloud上进行了测试,但从技术上讲,它应该适用于任何云主机,如DigitalOceanLinode,AWS,阿里云。

我的Google Cloud实例已经准备好。

并且,以root身份登录

EasyEngine是一个自动化脚本,需要安装在您想要创建WordPress站点的服务器上。所以让我们使用以下命令安装它。

注意:EasyEngine尚不支持CentOS,所以您需要使用Debian或Ubuntu。

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

安装必要的组件,包括Docker,这将需要几分钟时间,并且在返回提示符之前,您应该看到以下信息。

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------------+
| OS                | Linux 4.15.0-1025-gcp #26~16.04.1-Ubuntu SMP Wed Nov 21 10:13:20 UTC 2018 x86_64 |
| Shell             | /bin/bash                                                                        |
| PHP binary        | /usr/bin/php7.2                                                                  |
| PHP version       | 7.2.13-1+ubuntu16.04.1+deb.sury.org+1                                            |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                         |
| EE root dir       | phar://ee.phar                                                                   |
| EE vendor dir     | phar://ee.phar/vendor                                                            |
| EE phar path      | /root                                                                            |
| EE packages dir   |                                                                                  |
| EE global config  |                                                                                  |
| EE project config |                                                                                  |
| EE version        | 4.0.6                                                                            |
+-------------------+----------------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.

这意味着EasyEngine已经安装并准备好用于创建站点。它取决于需求,您可以创建多种类型的站点。

例如:

  • 仅HTML站点
  • 没有缓存或其他功能的WordPress站点
  • 创建一个带有数据库的基于PHP的站点
  • 带有自签名或Let's Encrypt SSL证书的站点
  • 多站点WordPress站点
  • 子域名或子目录上的WP站点
  • 带有Redis缓存的WP站点

您看,有多种组合可能性,您可以随时参考它们的official documentation。现在,让我们创建一个带有Redis的WP站点

ee site create yaoweibinlab.com --type=wp --cache

上面,我要求EasyEngine为yaoweibinlab.com创建一个WP站点,并使用缓存。这将需要几秒钟的时间,并且您应该看到以下成功确认信息。

root@yaoweibin-lab:~# ee site create yaoweibinlab.com --type=wp --cache
正在配置项目。
正在创建 WordPress 网站 yaoweibinlab.com
正在复制配置文件。
启动网站的服务。
正在下载和配置 WordPress。
成功:主机条目已成功添加。
检查和验证网站的状态。这可能需要一些时间。

正在安装 WordPress 网站。
成功:http://yaoweibinlab.com 已成功创建!
已创建网站条目。
正在创建定期任务
成功:成功创建定期任务
+--------------------+----------------------------------------+
| 网站               | http://yaoweibinlab.com                |
+--------------------+----------------------------------------+
| 网站根目录         | /opt/easyengine/sites/yaoweibinlab.com |
+--------------------+----------------------------------------+
| 网站标题          | yaoweibinlab.com                       |
+--------------------+----------------------------------------+
| WordPress 用户名 | stupefied-margulis                     |
+--------------------+----------------------------------------+
| WordPress 密码 | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB 主机            | global-db                              |
+--------------------+----------------------------------------+
| DB 名称            | yaoweibinlab_com                       |
+--------------------+----------------------------------------+
| DB 用户名            | yaoweibinlab.com-bNmEbX                |
+--------------------+----------------------------------------+
| DB 密码        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| 电子邮件             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | 未启用                                |
+--------------------+----------------------------------------+
| 缓存              | 已启用                                |
+--------------------+----------------------------------------+
root@yaoweibin-lab:~#

您看到在云上启动和运行网站有多快吗?

太好了!

让我们验证使用了哪种缓存机制。

正如您所看到的,WP Redis 与网站创建一起安装了。

WP 正在 docker 中运行,但您不必为此做任何操作,因为 EasyEngine 脚本会管理一切。在大多数情况下,您将与ee脚本进行交互。但是,如果您想探索在 docker 中运行的服务,可以查看以下内容。

docker 中的进程

docker ps 将显示所有正在运行的服务。

如您所见,Nginx、PHP、MariaDB、Redis等都在Docker内部运行。

内存、IO、CPU统计信息

运行docker stats命令将提供实时利用率统计信息。

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
6f16b878d548 ee-cron-scheduler 0.10% 6.246MiB / 1.65GiB 0.37% 1.82kB / 0B 582kB / 0B 7
18b7d9b4b8ac yaoweibinlabcom_nginx_1 0.00% 4.316MiB / 1.65GiB 0.26% 3.94MB / 3.74MB 0B / 0B 2
5e36d6998bba yaoweibinlabcom_postfix_1 0.00% 4.59MiB / 1.65GiB 0.27% 2.32kB / 688B 3MB / 0B 4
9fba9f5a2c77 yaoweibinlabcom_php_1 0.00% 12.86MiB / 1.65GiB 0.76% 38.4MB / 7.11MB 18.3MB / 180kB 1
d022dd6635d3 ee-global-db 0.05% 97.02MiB / 1.65GiB 5.74% 1.71MB / 1.75MB 59.7MB / 98.8MB 32
5c29ba40fa06 ee-global-redis 0.12% 2.48MiB / 1.65GiB 0.15% 3.31MB / 23.1MB 7.11MB / 0B 4
cae69382b545 ee-global-nginx-proxy 0.11% 8.988MiB / 1.65GiB 0.53% 2.95MB / 3.2MB 23.2MB / 53.2kB 19

日志位置

我理解您需要定期查看日志进行故障排除。您可以在这里找到它们。

Nginx & PHP – /opt/easyengine/sites/$SITENAME/logs

EasyEngine(EE)结构良好,如果您有兴趣了解更多信息,我建议查看他们的链接。在Docker中运行WordPress现在很简单!

如果您不想自己管理WP服务器、优化和安全性,那么您可以尝试负责为您处理所有事务,以便您可以专注于核心业务的Kinsta

类似文章