如何在Docker中使用EasyEngine设置WordPress?
使用EasyEngine在云端或VPS上通过Docker快速设置WordPress。
Docker在过去几年中取得了出色的增长,并且仍在不断增长。它无处不在-从初创公司到企业。
Docker相对于传统虚拟机,Docker具有一些很酷的优势,但这篇文章不是讨论这个的。如果您有兴趣深入学习,我建议您参考这个online course。
回到主题…
所以您知道或听说过Docker的好处,并且渴望尝试用于WordPress。从技术上讲,有很多方法可以做到这一点,但让我们看看能让生活更轻松的EasyEngine。
我在Google Cloud上进行了测试,但从技术上讲,它应该适用于任何云主机,如DigitalOcean,Linode,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。