快速浏览使用Cloud或VPS上的EasyEngine在Docker中设置WordPress。
在过去的几年中, Docker取得了长足的发展, 并且还在持续增长。它无处不在-从启动到企业。
相对于传统VM, Docker具有一些很酷的优势, 但是这篇文章并不是要谈论这一点。如果你有兴趣深入学习, 那么我建议你参加此在线课程。
返回主题…
所以你知道或听到Docker的好处, 并且热衷于尝试将其用于WordPress。从技术上讲, 有很多方法可以做到这一点, 但让我们来看看EasyEngine可以使生活更轻松。
我已经在Google Cloud上进行了测试, 但是从技术上讲, 它应该可以在DigitalOcean, Linode, AWS和Alibaba Cloud等任何托管的云上运行。
我的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的站点
- 具有自签名或加密SSL证书的网站
- 多站点WordPress网站
- WP网站位于子域或子目录上
- 带有Redis缓存的WP站点
你会发现有多种组合的可能性, 你可以随时参考其官方文档。现在, 让我们使用Redis创建一个WP网站。
ee site create srcmini02.com --type=wp --cache
上面, 我要求EasyEngine为srcmini02.com创建一个WP网站并使用缓存。这将需要几秒钟, 你将看到如下所示的成功确认。
[email protected]:~# ee site create srcmini02.com --type=wp --cache
Configuring project.
Creating WordPress site srcmini02.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.
Installing WordPress site.
Success: http://srcmini02.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site | http://srcmini02.com |
+--------------------+----------------------------------------+
| Site Root | /opt/easyengine/sites/srcmini02.com |
+--------------------+----------------------------------------+
| Site Title | srcmini02.com |
+--------------------+----------------------------------------+
| WordPress Username | stupefied-margulis |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| DB Host | global-db |
+--------------------+----------------------------------------+
| DB Name | srcmini_com |
+--------------------+----------------------------------------+
| DB User | srcmini02.com-bNmEbX |
+--------------------+----------------------------------------+
| DB Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| E-Mail | [email protected] |
+--------------------+----------------------------------------+
| SSL | Not Enabled |
+--------------------+----------------------------------------+
| Cache | Enabled |
+--------------------+----------------------------------------+
[email protected]:~#
你看到在云上启动并运行网站有多快?
大!
让我们验证一下使用了哪种缓存机制。
如你所见, WP Redis随站点创建一起安装。
WP在docker内部运行, 但是你无需为此做任何事情, 因为一切都由EasyEngine脚本管理。大多数时候, 你将与ee脚本进行交互。但是, 如果你想探索在docker内部运行的服务, 则可以查看以下内容。
泊坞窗内的进程
docker ps将显示所有正在运行的服务。
[email protected]:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f16b878d548 easyengine/cron:v4.0.0 "/usr/bin/ofelia dae…" 23 minutes ago Up 23 minutes ee-cron-scheduler
18b7d9b4b8ac easyengine/nginx:v4.0.0 "/usr/bin/openresty …" 24 minutes ago Up 24 minutes 80/tcp srcminicom_nginx_1
5e36d6998bba easyengine/postfix:v4.0.0 "postfix start-fg" 24 minutes ago Up 24 minutes 25/tcp srcminicom_postfix_1
9fba9f5a2c77 easyengine/php:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 9000/tcp srcminicom_php_1
d022dd6635d3 easyengine/mariadb:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 3306/tcp ee-global-db
5c29ba40fa06 easyengine/redis:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 6379/tcp ee-global-redis
cae69382b545 easyengine/nginx-proxy:v4.0.1 "/app/docker-entrypo…" 15 hours ago Up 35 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp ee-global-nginx-proxy
如你所见, Nginx, PHP, MariaDB, Redis, Nginx等–全部在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 srcminicom_nginx_1 0.00% 4.316MiB / 1.65GiB 0.26% 3.94MB / 3.74MB 0B / 0B 2
5e36d6998bba srcminicom_postfix_1 0.00% 4.59MiB / 1.65GiB 0.27% 2.32kB / 688B 3MB / 0B 4
9fba9f5a2c77 srcminicom_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
EE结构良好, 如果有兴趣了解更多信息, 那么我建议你查阅他们的手册。现在在Docker内部运行WordPress很容易!
如果你不想自己管理WP服务器, 优化和安全性, 则可以尝试Kinsta帮你完成所有工作, 以便你专注于核心业务。
评论前必须登录!
注册