如何使用 Docker 部署 WordPress 网站

无论您有一个小型私人网站还是拥有数百万访问者的大型博客 - 在这 artikel 了解如何使用 Docker 快速轻松地部署 WordPress 网站。

什么是 Docker?

Docker是一个开源软件,它允许应用程序在隔离的容器中运行。这使得开发人员可以在标准化环境中部署和运行他们的应用程序,而不必担心复杂的基础设施。

Docker 是如何工作的?

Docker是一个开源项目,以容器的形式提供软件包。这些容器可用于 每台电脑 运行,与操作系统无关。 Docker 允许开发人员将他们的应用程序打包在容器中,然后将其部署到任何平台上。

Docker 按照容器原理工作。容器是应用程序可以在其中运行的隔离环境。该容器包含应用程序所需的所有必要组件、库和文件。与其他容器和主机系统的隔离确保容器中的应用程序运行无错误。

Linux 容器 (LXC)

Docker 基于 Linux 容器 (LXC)。 LXC 允许在一台虚拟机上运行多个虚拟机 物理服务器 来操作。每个虚拟机都有自己的 CPU、RAM 和硬盘。然而,LXC容器并没有与其他容器和主机系统完全隔离。

Docker 使用命名空间和控制组(cgroup)来实现完全的容器隔离。命名空间将容器环境彼此隔离。每个容器都有自己的网络堆栈、进程和用户。控制组限制容器访问 资源 主机系统的CPU、内存、硬盘等。

Docker 的好处

Docker 是一个开源项目,可以隔离应用程序及其依赖项。这意味着应用程序可以在 Docker 容器中运行,而无需安装在主机系统上。

Docker 非常适合开发,因为开发人员可以在容器中测试和调试他们的应用程序,而无需担心兼容性问题。

Docker 容器的另一个优点是可移植的。这意味着在Linux系统上创建的容器也可以在Windows或macOS系统上运行。

Docker容器可以运行在任何平台上,Docker支持Linux, Windows 和MacOS。

Docker 的缺点

Docker 是一个 很棒的工具在容器中隔离和分发应用程序。然而,Docker 也有一些缺点,您在决定使用 Docker 部署 WordPress 站点之前应该考虑这些缺点。

Docker 最大的缺点之一是它是一个相对较新的产品。这意味着该产品没有长期的经验,因此尚未建立最佳实践。

Docker 的另一个缺点是它在可以安装的硬件和操作系统方面有一些限制。例如,您无法在 Mac 或 Linux 发行版上运行 Windows 容器。

总而言之,Docker也带来了一些安全风险。这使得恶意攻击者可以闯入容器并从那里攻击主机。因此,您应该仔细考虑是否要使用 Docker 部署 WordPress 站点。

为什么应该使用 Docker 部署 WordPress 网站?

docker 是一个开源项目,提供可以运行应用程序的容器。这些容器是隔离的,并且有自己的运行环境。 Docker 主机上可以有多个容器,每个容器可以运行不同的应用程序。

Docker 非常适合部署 WordPress 网站,因为 Docker 为您提供了一个干净的环境来运行您的网站。此外,Docker 允许您在一个站点上拥有多个 WordPress 站点 主办方 提供。

如何使用 Docker 准备 WordPress 网站?

在本文中,我们将讨论如何首次使用 Docker 部署 WordPress 站点。如果您尚未安装 Docker,可以在此处找到安装说明。

首先,您需要为您的 WordPress 网站创建一个目录。这是存储站点所有文件的目录。例如:

mkdir / my-wordpress-site

泊坞窗,compose.yml

接下来,您需要在此目录中创建 docker-compose.yml 文件。 docker-compose.yml 文件是一个配置文件,定义了 WordPress 站点的所有设置。例如:

版本:'2'服务:db:图像:mysql:5.7重新启动:始终环境:MYSQL_ROOT_PASSWORD:示例MYSQL_DATABASE:wordpress MYSQL_USER:wordpress MYSQL_PASSWORD:示例wp:图像:wordpress重新启动:始终环境:WORDPRESS_DB_HOST:db:3306 WORDPRESS_DB_NAME:wordpress WORDPRESS_DB_USER : wordpress WORDPRESS_DB_PASSWORD : 示例端口 : – “8080 : 80”

docker-compose 版本首先在此文件中定义。本示例使用版本 2。

MySQL数据库

接下来,定义两个服务,一个服务用于 MySQL数据库 以及 WordPress 服务。每个服务必须指定要使用的图像。您还可以定义其他设置,例如环境变量、端口和文件调用。

例如,在此示例中,WordPress 服务的环境变量 WORDPRESS_DB_HOST 设置为 db 服务。这告诉 WordPress 在哪里 MySQL数据库 定位。

您可以在 docker-compose.yml 文件中定义更多设置。更多信息可以在 Docker Compose 文档.

的。htaccess

接下来,您需要在目录中创建一个 .htaccess 文件。该文件用于创建 网址 为您的 WordPress 网站。例如:

RewriteRule ^$ 索引上的 RewriteEngine。 php [QSA] RewriteCond % {REQUEST_FILENAME} ! -f RewriteCond % {REQUEST_FILENAME} ! -d RewriteRule ^( . * )$ 索引 。 php? 1 美元 [QSA]

该文件强制所有对 WordPress 站点的请求都通过 index.php 进行路由。这是 WordPress 网站的默认配置。

WP-config.php文件

接下来,您需要在目录中创建一个 wp-config.php 文件。该文件包含您的 WordPress 站点的配置设置。您可以使用 WordPress 的默认 wp-config.php 文件或创建您自己的文件。

例如:define('DB_NAME', 'wordpress'); /** MySQL 数据库用户名 */ Define('DB_USER', 'wordpress'); /** MySQL 数据库密码 */ Define('DB_PASSWORD', 'example'); /** MySQL 主机 */ 定义('DB_HOST', 'db:3306'); /** 创建数据库表时使用的数据库字符集。 */ 定义('DB_CHARSET', 'utf8'); /** 数据库整理类型。如果有疑问,请勿更改此设置。 */ 定义('DB_COLLATE', ”);

在此文件中,您需要配置 WordPress 站点的数据库信息。例如,需要将 DB_HOST 设置为 db 服务,以便 WordPress 知道 MySQL 数据库所在的位置。

您可以在 wp-config.php 文件中定义更多设置。更多信息可以在 WordPress 文档.

的index.php

接下来,您需要在目录中创建一个index.php 文件。该文件是您的 WordPress 网站的主文件。例如:

在此文件中,WP_USE_THEMES 变量首先设置为 true,以便 WordPress 使用活动主题。然后加载 wp-blog-header.php 文件,该文件初始化 WordPress 应用程序的其余部分。

的robots.txt

接下来,您需要在目录中创建一个 Robots.txt 文件。该文件用于控制抓取您网站的搜索引擎机器人。例如:

用户代理:* 禁止:/wp-admin / 允许:/wp-admin/admin-ajax.php

此示例指定所有机器人不应浏览 /wp-admin/ 目录。这是防止机器人对您的 WordPress 安装执行不需要的操作的好方法。

的favicon.ico

接下来,您需要在目录中创建一个 favicon.ico 文件。这是您访问网站时出现在浏览器地址栏中的一个小图形。您可以使用任何您喜欢的图形或使用像这样的生成器。

阿帕奇配置文件

接下来,您需要在目录中创建 Apache 配置文件。此文件用于配置您站点的 Apache Web 服务器配置。例如:

服务器名称 my-wordpress-site.example.com DocumentRoot / my-wordpress-site ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log 组合

在此文件中,服务器名称首先设置为您站点的域名或 IP 地址。然后将文档根目录设置为您站点的目录。还提供错误和访问日志,以便您可以查看站点发生的情况。

您可以在 Apache 配置文件中定义许多其他设置。更多信息可以在 阿帕奇文档.

php.ini中

接下来,您需要在目录中创建一个 php.ini 文件。该文件用于配置您站点的 PHP 配置。例如:

display_errors = 开启 display_startup_errors = 开启 error_reporting = E_ALL 内存限制 = 512M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300

该文件中配置了一些基本的 PHP 设置。您可以在 php.ini 文件中定义许多其他设置。更多信息可以在 PHP 文档.

Apache 虚拟主机文件

接下来,您需要在目录中创建一个 Apache vhost 文件。该文件用于配置您站点的虚拟主机配置。例如:

ServerName my-wordpress-site.example.com ServerAlias www.my-wordpress-site.example.com DocumentRoot / my-wordpress-site ErrorLog ${APACHE_LOG_DIR} / error 。记录 CustomLog ${APACHE_LOG_DIR}/access 。日志合并<目录/my-wordpress-站点>AllowOverride All 要求全部授予

在此文件中,服务器名称首先设置为您站点的域名或 IP 地址。然后将文档根目录设置为您站点的目录。还提供错误和访问日志,以便您可以查看站点发生的情况。

您可以在 Apache vhost 文件中定义许多其他设置。更多信息可以在 阿帕奇文档。

Apache SSL 配置文件

接下来,您需要在目录中创建 Apache SSL 配置文件。该文件用于配置您站点的 SSL/TLS 配置。例如:

服务器名称 my-wordpress-site.example.com DocumentRoot / my-wordpress – 站点 ErrorLog ${APACHE_LOG_DIR} / error 。记录 CustomLog ${APACHE_LOG_DIR}/access 。将 SSLCertificateFile / path / 上的组合 SSLEngine 记录到 / your /certificate 。 crt SSLCertificateKeyFile /path/to/your/certificate 。钥匙.钥匙

您可以在 Apache SSL 配置文件中定义许多其他设置。更多信息可以在 阿帕奇文档.

最后,您需要为您的站点创建 SSL 证书。这可以使用 Let's Encrypt 等工具来完成。有关更多信息,请参阅 Apache 文档。

创建上述所有文件后,您可以使用 docker-compose up -d deploy 命令启动 WordPress 站点。此命令启动 docker-compose.yml 文件中的所有服务并部署您的 WordPress 站点。

Fazit

就是这样!在本文中,我们学习了如何使用 Docker 部署 WordPress 网站。我们已经看到构建和部署 Docker 映像是多么容易。我们还了解了使用 Docker 进行部署的优势。

笔记..很重要!

本网站链接的所有外部网站均为独立来源。 
这些链接没有受到赞助,也没有收到任何财务捐助。 
本网站提供的所有信息均不提供任何保证。
该网站是一个私人项目 Jan Domke 仅反映个人意见和经验。

Jan Domke

提示工程师 |社交媒体经理|托管经理 |网络管理员

自 2021 年底以来,我一直在私人运营该在线杂志 SEO4Business 从而把我的工作变成了一种爱好。
我自 2019 年以来一直从事 Senior Hosting Manager,在德国最大的互联网和营销机构之一,并不断扩大我的视野。

Jan Domke