Appleex
Appleex
Published on 2023-05-05 / 315 Visits
0
0

运维 | 使用 Docker Compose 部署 WordPress | Docker

运维 | 使用 Docker Compose 部署 WordPress | Docker

简介

WordPress是一个免费的开源博客工具,也是一个基于PHP和MySQL的内容管理系统(CMS),它运行在Web托管服务上。特性包括插件架构和模板系统。WordPress被超过22个用户使用。截至2013年8月,前1000万个网站中的0%。WordPress是网络上使用最流行的博客系统,超过6000万个网站。最常用的语言是英语、西班牙语和印度尼西亚语。

wikipedia.org/wiki/WordPress

准备工作

  • 一台服务器
  • 一个域名
  • 反向代理工具(nginx-proxy-manager)

快速使用

使用 Docker Compose 部署

环境搭建

创建容器组

  1. 在系统任意位置创建一个文件夹,此文档以 ~/wp 为例。
mkdir ~/wp && cd ~/wp

注意:后续操作中,WordPress 产生的所有数据都会保存在这个目录,请妥善保存。

  1. 创建 docker-compose.yaml

以下 wordpressdocker-compose.yml 示例:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

MySQL 可以用Mariadb替代,web服务器也可以用apache、caddy等替代 docker-compose.yaml

  1. 启动服务
docker-compose up -d

实时查看日志:

docker-compose logs -f
  1. 用浏览器访问

尝试访问 http://localhost:porthttp://host-ip:port 是否能够正常访问

如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

更新容器组

  1. 停止运行中的容器组
cd ~/wp && docker-compose down
  1. 备份数据(重要)
cp -r ~/wp ~/wp.archive

需要注意的是,wp.archive 文件名不一定要根据此文档命名,这里仅仅是个示例

  1. 更新服务

修改 docker-compose.yaml 中配置的镜像版本

docker-compose pull [服务名]
docker-compose up -d

反向代理

使用 nginx-proxy-manager 工具进行代理域名

  1. 提前将域名解析到服务器IP 打开 nginx-proxy-manager 的管理界面

  2. Hosts > Proxy Hosts 新增一个代理填好你的域名信息 以及代理转发的地址和端口

  3. 点击窗口上方的 SSL 选择申请的证书 并开启强制使用SSL HTTP2支持根据自己需求选择最后保存(如果没有证书可以先去申请一个)

  4. 保存后打开域名应该就能看到 WordPress 站点安装页面了

结尾

本期的内容就到这里,路过的小伙伴记得支持一下哦!


Comment