目 录CONTENT

文章目录

在飞牛云或者VPS用Docker搭建一个著名的CMS内容管理系统WordPress

yyzq
2025-06-12 / 0 评论 / 1 点赞 / 94 阅读 / 2,782 字

前言

在如今数字化快速发展的时代,无论是个人博客、小型企业网站,还是内容驱动的平台系统,一个功能强大、易于管理的网站内容管理系统(CMS)都是必不可少的。WordPress,作为全球最受欢迎的开源CMS,占据了超过40%的网站市场份额,凭借其强大的插件生态和友好的用户界面,成为搭建网站的首选工具。
image-1749728151771
而随着云计算和容器化技术的普及,越来越多的开发者和站长选择将网站部署在云服务器上,并借助 Docker 实现快速、轻量、高效的部署管理。飞牛云、阿里云、腾讯云等 VPS 提供商的便捷性和性价比,也让搭建个人或企业级网站变得触手可及。

本文将以“在飞牛云或者VPS用Docker搭建WordPress”为主题,手把手带你从零开始,快速部署一个完整可用的 WordPress 网站。无论你是初学者,还是有一定经验的开发者,都可以通过这篇文章掌握 WordPress + Docker 的部署流程,实现网站的高效上线与后期管理。

相关界面

下面是五个著名的使用 WordPress 构建的网站
📰 1. The New Yorker(纽约客)
类型:杂志/新闻媒体
特点:高质量的新闻报道和文化评论内容
说明:作为美国最具影响力的新闻媒体之一,《纽约客》网站使用 WordPress 进行内容发布和编辑管理,证明 WordPress 也可以胜任大型媒体网站的需求。
纽约客官网
image-1749726373157

🗳 2. The Official White House Blog(白宫官方博客)
类型:政府机构网站
特点:发布政策、声明、新闻更新
说明:美国白宫的博客部分曾使用 WordPress 构建,表明其在安全性和可扩展性方面也能满足严苛的政府级需求。
白宫官网
image-1749726422899
🎤 3. Sony Music
类型:企业门户
特点:展示旗下艺人、音乐、新闻
说明:索尼音乐的官网是一个典型的 WordPress 多站点应用,用于展示公司旗下各大艺人主页,整合度极高。
Sony Music官网
image-1749726468978
🥇 4. TechCrunch
类型:科技媒体
特点:报道科技公司新闻和创业资讯
说明:作为全球知名的科技新闻网站之一,TechCrunch 使用 WordPress 作为其内容发布平台,显示了 WordPress 在内容驱动型网站中的主导地位。
TechCrunch官网
image-1749726511288
🛍 5. BBC America
类型:娱乐/电视媒体
特点:展示电视节目、预告片、新闻
说明:BBC America 利用 WordPress 管理网站内容和媒体资源,界面美观、运行高效,是 WordPress 企业应用的优秀案例。
BBC America官网
image-1749726561689

本次演示使用附一个免费WordPress主题-CorePress
一款强大的免费的CMS类主题,适合个人博客,极客等
image-1749726781270
CorePress官网

功能介绍

🧱 1. 模块化的插件系统

WordPress 拥有丰富的插件生态,用户可以通过插件轻松实现网站功能的扩展,例如:

  • SEO 优化(如 Yoast SEO)
  • 网站防火墙与安全(如 Wordfence)
  • 联系表单、在线客服、社交媒体分享等

无需写一行代码,也能拥有专业网站功能。

🎨 2. 可视化主题与模板系统

WordPress 提供成千上万的免费和付费主题,几乎涵盖各类行业和风格。配合“区块编辑器”(Gutenberg)或页面构建器插件(如 Elementor),即使没有前端开发经验也能拖拽式搭建页面。

📝 3. 强大的内容管理能力

  • 多人协作(管理员、编辑、作者、订阅者等权限分明)
  • 支持文章、页面、分类、标签、媒体等多种内容类型
  • 自动保存、版本控制、草稿功能,让内容创作更高效安全

🌍 4. 多语言与国际化支持

WordPress 本身支持多语言,可以通过插件(如 Polylang、WPML)实现多语言切换,适合搭建面向全球用户的网站。

📱 5. 移动端友好 & 响应式设计

大多数 WordPress 主题都具备自适应能力,自动适配手机、平板和电脑屏幕,提升用户访问体验。

🔐 6. 安全更新机制

WordPress 官方会定期发布安全补丁,插件和主题也有更新提醒,可自动或手动升级,保障网站安全性。

📊 7. 强大的社区与支持

全球数百万站点使用 WordPress,拥有活跃的技术社区和丰富的学习资料,从新手教程到高级开发都有覆盖。

部署方法

使用Docker安装

本教程是使用docker-compose的方式安装部署

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/WordPress/WordPress
image-1749727338526
目前已经20.2Kstars
更多功能可以访问GitHub
该项目使用wordpress官方的docker镜像
https://hub.docker.com/_/wordpress
3)域名(可选)
域名可以根据自己的需求绑定

①《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

wordpress

compose配置如下:

services:

  wordpress:  # 定义 WordPress 服务
    image: wordpress  # 使用官方 WordPress 镜像
    restart: always  # 容器异常退出时自动重启
    ports:
      - 8680:80  # 宿主机 8680 端口映射到容器的 80 端口(访问网页)
    environment:
      WORDPRESS_DB_HOST: db  # 数据库主机名,对应下面的 db 服务名
      WORDPRESS_DB_USER: exampleuser  # 数据库用户名
      WORDPRESS_DB_PASSWORD: examplepass  # 数据库密码
      WORDPRESS_DB_NAME: exampledb  # WordPress 使用的数据库名称
    volumes:
      - ./wordpress_data:/var/www/html  # 把当前目录下的 wordpress_data 文件夹映射到容器中的 WordPress 目录,实现数据持久化

  db:  # 定义数据库服务
    image: mysql:8.0  # 使用 MySQL 8.0 官方镜像
    restart: always  # 容器异常退出时自动重启
    environment:
      MYSQL_DATABASE: exampledb  # 初始化时创建的数据库名
      MYSQL_USER: exampleuser  # 创建的数据库用户
      MYSQL_PASSWORD: examplepass  # 用户密码
      MYSQL_RANDOM_ROOT_PASSWORD: '1'  # 为 root 账户生成随机密码,增强安全性
    volumes:
      - ./db_data:/var/lib/mysql  # 把当前目录下的 db_data 文件夹映射到容器中的数据库数据目录,实现数据持久化

启动即可
image-1749727669314
正常启动
image-1749727729675
资源占用情况如下
image-1749727749177

补充docker可用的镜像仓库

国内如果无法拉取镜像的可以使用
仓库1

https://proxy.1panel.live/

仓库2

https://docker.1panel.top/

仓库3

https://mirror.azure.cn/

仓库4

https://hub.rat.dev/

仓库5

https://docker.1ms.run

仓库6

https://docker.itelyou.cf/

仓库7

https://abc.itelyou.cf/

仓库8

https://docker.ywsj.tk/

②《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir wordpress;cd wordpress #创建一个目录,并进入此目录

然后再新建docker-compose.yml

vim docker-compose.yml
services:

  wordpress:  # 定义 WordPress 服务
    image: wordpress  # 使用官方 WordPress 镜像
    restart: always  # 容器异常退出时自动重启
    ports:
      - 8680:80  # 宿主机 8680 端口映射到容器的 80 端口(访问网页)
    environment:
      WORDPRESS_DB_HOST: db  # 数据库主机名,对应下面的 db 服务名
      WORDPRESS_DB_USER: exampleuser  # 数据库用户名
      WORDPRESS_DB_PASSWORD: examplepass  # 数据库密码
      WORDPRESS_DB_NAME: exampledb  # WordPress 使用的数据库名称
    volumes:
      - ./wordpress_data:/var/www/html  # 把当前目录下的 wordpress_data 文件夹映射到容器中的 WordPress 目录,实现数据持久化

  db:  # 定义数据库服务
    image: mysql:8.0  # 使用 MySQL 8.0 官方镜像
    restart: always  # 容器异常退出时自动重启
    environment:
      MYSQL_DATABASE: exampledb  # 初始化时创建的数据库名
      MYSQL_USER: exampleuser  # 创建的数据库用户
      MYSQL_PASSWORD: examplepass  # 用户密码
      MYSQL_RANDOM_ROOT_PASSWORD: '1'  # 为 root 账户生成随机密码,增强安全性
    volumes:
      - ./db_data:/var/lib/mysql  # 把当前目录下的 db_data 文件夹映射到容器中的数据库数据目录,实现数据持久化

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

  docker-compose ps
NAME                    IMAGE       COMMAND                  SERVICE     CREATED         STATUS         PORTS
wordpress-db-1          mysql:8.0   "docker-entrypoint.s…"   db          2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp
wordpress-wordpress-1   wordpress   "docker-entrypoint.s…"   wordpress   2 minutes ago   Up 2 minutes   0.0.0.0:8680->80/tcp, [::]:8680->80/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口(8680)防火墙就可以web端访问了
打开自己VPS的ip加端口在加路径就可进入初始化页面

http://ip:8680

初始化配置语言
image-1749728016083
网站初始化
image-1749728091260
登录后台
image-1749728128615
配置主题
image-1749728195863
需要这个主题的可以下载
image-1749728227029

下载CorePress_5.8.9_Release.zip
接下来就是自行更新装修自己的网站了-装插件-更新文章-功能更新等
image-1749728399986

五、绑定域名

如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

做个A记录
image-1749728468258
做nginx代理
image-1749728506945
然后这个地方改为自己的域名即可
image-1749728561818
绑定完域名配置好证书就可以用域名来访问了
image-1749728634316

六、更新,网站备份、网站搬家

6.1WordPress更新

docker-compose down  #停止容器
docker-compose pull  #拉取新镜像
docker-compose up -d  #重新启动

6.2网站备份

直接备份这个目录即可

tar -zcf wordpress.tar.gz wordpress

6.3 网站搬家

将以上备份的文件放到新服务器重复以上步骤即可完成网站搬家

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1

评论区