前言
在如今数字化快速发展的时代,无论是个人博客、小型企业网站,还是内容驱动的平台系统,一个功能强大、易于管理的网站内容管理系统(CMS)都是必不可少的。WordPress,作为全球最受欢迎的开源CMS,占据了超过40%的网站市场份额,凭借其强大的插件生态和友好的用户界面,成为搭建网站的首选工具。
而随着云计算和容器化技术的普及,越来越多的开发者和站长选择将网站部署在云服务器上,并借助 Docker 实现快速、轻量、高效的部署管理。飞牛云、阿里云、腾讯云等 VPS 提供商的便捷性和性价比,也让搭建个人或企业级网站变得触手可及。
本文将以“在飞牛云或者VPS用Docker搭建WordPress”为主题,手把手带你从零开始,快速部署一个完整可用的 WordPress 网站。无论你是初学者,还是有一定经验的开发者,都可以通过这篇文章掌握 WordPress + Docker 的部署流程,实现网站的高效上线与后期管理。
相关界面
下面是五个著名的使用 WordPress 构建的网站
📰 1. The New Yorker(纽约客)
类型:杂志/新闻媒体
特点:高质量的新闻报道和文化评论内容
说明:作为美国最具影响力的新闻媒体之一,《纽约客》网站使用 WordPress 进行内容发布和编辑管理,证明 WordPress 也可以胜任大型媒体网站的需求。
纽约客官网
🗳 2. The Official White House Blog(白宫官方博客)
类型:政府机构网站
特点:发布政策、声明、新闻更新
说明:美国白宫的博客部分曾使用 WordPress 构建,表明其在安全性和可扩展性方面也能满足严苛的政府级需求。
白宫官网
🎤 3. Sony Music
类型:企业门户
特点:展示旗下艺人、音乐、新闻
说明:索尼音乐的官网是一个典型的 WordPress 多站点应用,用于展示公司旗下各大艺人主页,整合度极高。
Sony Music官网
🥇 4. TechCrunch
类型:科技媒体
特点:报道科技公司新闻和创业资讯
说明:作为全球知名的科技新闻网站之一,TechCrunch 使用 WordPress 作为其内容发布平台,显示了 WordPress 在内容驱动型网站中的主导地位。
TechCrunch官网
🛍 5. BBC America
类型:娱乐/电视媒体
特点:展示电视节目、预告片、新闻
说明:BBC America 利用 WordPress 管理网站内容和媒体资源,界面美观、运行高效,是 WordPress 企业应用的优秀案例。
BBC America官网
本次演示使用附一个免费WordPress主题-CorePress
一款强大的免费的CMS类主题,适合个人博客,极客等
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
目前已经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 文件夹映射到容器中的数据库数据目录,实现数据持久化
启动即可
正常启动
资源占用情况如下
补充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
初始化配置语言
网站初始化
登录后台
配置主题
需要这个主题的可以下载
下载CorePress_5.8.9_Release.zip
接下来就是自行更新装修自己的网站了-装插件-更新文章-功能更新等
五、绑定域名
如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
做个A记录
做nginx代理
然后这个地方改为自己的域名即可
绑定完域名配置好证书就可以用域名来访问了
六、更新,网站备份、网站搬家
6.1WordPress更新
docker-compose down #停止容器
docker-compose pull #拉取新镜像
docker-compose up -d #重新启动
6.2网站备份
直接备份这个目录即可
tar -zcf wordpress.tar.gz wordpress
6.3 网站搬家
将以上备份的文件放到新服务器重复以上步骤即可完成网站搬家
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区