Docker Compose 教程:一键搭建 WordPress 博客的简单指南与最佳实践

本文将指导如何在 Debian 和 Ubuntu 系统下安装 wordpress 博客教程,为你详细讲解如何利用 Docker Compose 在 Debian 和 Ubuntu 系统下一键搭建 WordPress 博客。Docker Compose 是一个强大的工具,使得容器化应用的管理变得简单而高效。

什么是WordPress

WordPress 是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统,截至2018年4月,排名前1000万的网站中超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统。全球有大约43%的网站都是使用WordPress架设网站的。WordPress是目前因特网上最流行的博客系统。WordPress在最著名的网络发布阶段中脱颖而出。如今,它被使用在超过7000万个站点上。


一直以来,折腾 博客 是我最大的爱好,当然我属于那种差生文具多类型,博客没写几篇,搭建方式,不同博客的框架倒是略懂几分。最近终于打算也正在回归正途使用 wordrepss ,把重心放在内容上,而非沉浸在捣鼓“文具”上。

本次教程选择全球公认市占率最多的 WordPress 博客上。wordrepss 搭建过程较为简单,仅仅几行命令就搭建好了一个属于自己的博客。默认搭建的是最新版的 wordpress 博客。


如果你对 Docker 还不熟悉,可以先阅读我之前写的一篇关于 [安装 Docker 以及 Docker Compose 教程]的文章。

前提条件:

要学习本教程,你将需要

  • 一台运行 Ubuntu 22.04 或 Debain 12 的服务器,以及一个具有sudo 权限的非root用户和一个活跃的防火墙。
  • 一个注册的域名。本教程将自始至终使用test.uuzi.net。你可以在任意域名网站注册一个,或者使用你选择的域名注册商。
  • 为你的服务器设置好DNS记录。

一旦你把一切都设置好了,你就可以开始第一步了。


docker-compose 安装 wordprss 步骤:

1、更新软件列表、系统升级、安装常用组件:

2、安装 Docker Compose

3、重启系统

以上命令将更新软件列表、升级系统、安装 Docker Compose,并配置必要的组件。这是我们一键搭建 WordPress 博客的第一步。

4、安装 wordpress 命令

在浏览器输入ip,回车即可看到搭建成功:

输入:http://ip/wp-admin,将ip替换为你自己vps的ip,之后可访问后台登陆界面:

后台默认用户名:user,密码:bitnami,登陆成功后记得修改密码。

wordrepss 博客搭建完成,接些来配合我们购买的或者自己的免费域名进行访问,毕竟用ip访问有点low;

首先将免费域名或购买的域名在cloudlfare上解析,以test.uuzi.net为例:

保存后,简单的ping一下该域名,看是否生效,如生效则进行下一步,否则,等待。

再次使用域名访问,发现我们搭建的 wordrepss 已经可以用域名访问,但现在的问题在于域名前显示 Not secure,即不安全的标识,这是因为我们没有配置SSL证书,接下来,我们直接用cloudlfare的证书来演示,主要是方便快捷。

其实这里也可以配合之前反向代理的教程:安装 NPM(nginxproxymanager)反向代理神器教程,就不用再cloudflare上进行设置,不想折腾反向代理的可以继续看下面的操作:

接着回到设置域名解析的地方,将代理状态打开,俗称打开小黄云。几分钟后,我们可以再尝试ping一下刚刚设置的域名,发现已经不是我们的ip地址,这样就对了,已经用上了cloudflare的免费CDN服务了。

再次访问我们的网址,发现如图的错误,但是自动加上了小锁

我们回到下图cloudflare中这个位置,将加密模式改为完全。

再次访问我们的域名,恭喜!现在你已经成功搭建了属于自己的 WordPress 博客。如果你有任何问题或想要了解更多关于 Docker 和 WordPress 的内容,请查看我们的 [Docker 标签页面]。

 本章内容来源自:兔哥上网
 方法二:

使用Docker一键安装WordPress和MySQL

前置条件

  1. 已安装 Docker 和 Docker Compose。可以在 Docker 官方网站上找到 DockerDocker Compose 的安装指南。

步骤

步骤 1:创建一个名为 docker-compose.yml 的文件,然后添加以下内容:

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

这个文件定义了两个服务,WordPress 和 MySQL。它们在 Docker 中运行为单独的容器。WordPress 容器将连接到 MySQL 容器。

这部分的代码定义了一个 Docker 卷 db_data。卷是 Docker 提供的一种数据持久化的解决方案,你可以使用它来存储和共享容器的数据。

在这个 docker-compose.yml 文件中,db_data 卷被挂载到 MySQL 容器的 /var/lib/mysql 目录。这意味着 MySQL 容器的数据(例如数据库文件)将被存储在 db_data 卷中。即使你删除并重新创建 MySQL 容器,只要你还在使用同一个 db_data 卷,数据就不会丢失。

db_data: {} 的语法表示创建一个新的命名卷。这里的 {} 是空的,这意味着 Docker 将使用默认的配置来创建这个卷。如果你想要对卷进行配置,例如指定卷的驱动器或者设定其他选项,你可以在 {} 中添加这些选项。

在这个例子中,我们不需要对 db_data 卷进行任何特殊配置,所以你可以保留 db_data: {} 的语法。

如果你想知道更多关于 Docker 卷的信息,可以参考 Docker 的官方文档

步骤 2:打开终端,导航到包含 docker-compose.yml 文件的目录,然后运行以下命令:

docker-compose up -d

这个命令将下载并运行 WordPress 和 MySQL 的 Docker 镜像。参数 -d 让容器在后台运行。

步骤 3:打开浏览器并访问 http://localhost:8000 来查看你的 WordPress 网站。你应该会看到 WordPress 的安装向导。

常见问题

问题 1:如果你看到 "Error establishing a database connection" 错误,那可能是因为以下原因:

  • 数据库服务器未运行:运行 docker ps 命令来查看你的容器是否正在运行。你也可以通过运行 docker logs <container_id> 命令来查看 MySQL 容器的日志。
  • 错误的数据库凭据:检查你的 docker-compose.yml 文件中的 WORDPRESS_DB_USERWORDPRESS_DB_PASSWORDWORDPRESS_DB_NAMEWORDPRESS_DB_HOST 环境变量是否与 MySQL 容器的设置相匹配。
  • 网络问题:你的 WordPress 和 MySQL 容器可能无法互相通信。在 Docker Compose 中,你应该使用服务名称(在这个例子中是 db)作为主机名。

如果你要停止你的 Docker 容器,可以运行 docker-compose down 命令。

这就是在 Docker 中一键安装 WordPress 和 MySQL 的步骤。希望对你有所帮助!

 

方法三:

1、WordPress介绍

官网:WordPress.com:快速、安全的受管 WordPress 托管服务

image_2b2c59b8.png

WordPress是一种基于php编程语言开发的CMS管理系统,WordPress有丰富的插件和模板,用户可以快速搭建一套功能十分强大的内容管理系统,使用WordPress可以做多种类型的网站,比如新闻发布网站、企业门户、个人技术博客等。

今天给大家分享一下通过docker快速部署一套WordPress系统,感兴趣的朋友可以一起来学习一下!

2、Dcoker快速部署WordPress

2.1 首先要拉取WordPress最新版本的镜像

docker pull wordpress:latest

image_9130a36a.png

2.2 安装mysql

wordpress基于php+mysql 所以需要安装mysql数据库,这里安装mysql5.7 版本。

#获取镜像
docker pull mysql:5.7

image_06988a17.png

#运行mysql5.7
docker run -d --privileged=true --name mysql5.7 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3206:3306 mysql:5.7

启动效果如下

image_c52a77d9.png

参数说明:

  • -p: 端口映射,这里表示将宿主机的3206映射给镜像的3306.
  • -e: 环境变量,设置镜像中MySQL的root 密码时123456
  • –name: 容器名称 mysql5.7
  • –privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项
  • -v: 挂载目录,将MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql

2.3 运行wordpress容器

docker run --name wp --link mysql9 -p 1080:80 -d wordpress

image_fb89d8f0.png

参数说明:

  • –link 链接到MySQL容器的名称
  • -p 1080:80 开放1080端口

2.4、配置服务器端口

我购买的服务器是华为云,需要登录华为云服务器在服务器安全组配置1080端口开放,具体如下图:

image_0243ffe4.png

2.5 防火墙设置

大家根据情况确认防火墙是否配置了,可以关闭防火墙,或者开启后设置端口开放,推荐第二种方式。

systemctl status firewalld #查看防火墙状态
systemctl start firewalld #开启防火墙
systemctl stop firewalld #关闭防火墙 
firewall-cmd --list-ports #查看开放端口
#设置1080端口开放
firewall-cmd --zone=public --add-port=1080/tcp --permanent 
firewall-cmd --list-ports #再次查看是否开放

3、浏览器访问测试

输入你的公网ip+1080 测试是否可以正常访问。效果如下图:

示例:127.0.0.1:1080

选择安装语言为简体中文

image_18f2751b.png

点击现在开始,进入页面配置mysql数据库信息。

image_8648a074.png

输入网站信息,比如网站标题、登录用户名、密码等。

image_931761ca.png

然后安装就成功了。

image_c1faa063.png

登录系统

image_b1493ba7.png

登录后的管理主界面

image_5d294e55.png

4、总结

以上就是通过docker安装wordpress的教程,很多关于安装wordpress的文章会考虑直接在安装wordpress的同时配置mysql,很容易出现各种各样的问题,这里就不列举了。推荐采用我的这种方式。浏览器首次访问wordpress的同时进行配置mysql数据库。这样不容易出现错误。

 

 

发表评论

0 评论