基于 Docker compose 的 WordPress 简单安装部署
jianjian
这个人没写简介

最近在写这个网站的时候,想起来直接使用 WordPress 试试,毕竟 WordPress 是世界最流行的内容管理平台,功能齐全而且 SEO 友好。 下面是直接使用 docker 的安装的步骤。


一、准备

  1. 一个能够公网访问的服务器,如果服务器在国内,域名需要备案,具体步骤可以参考 阿里云 ,推荐使用 阿里云香港的服务器;
  2. 一个域名,例如此次安装中使用到的 test.tiankong.ai,创建一个 A 记录指向服务器的 IP 地址;


二、服务器设置

首先安装 docker,如果已经安装请跳过。注意把 <your-user> 替换成你的服务器用户名。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo usermod -aG docker <your-user>

检查 docker 是否安装成功。

$ docker version

安装 docker compose。

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

检查 docker compose 安装是否成功。

$ docker-compose version

最后需要检查服务器 80、443 端口是否开放。对于阿里云服务器,在安全组设置中,开放 80、443 端口。


三、配置 docker compose

首先创建一个 WordPress 文件夹。

$ mkdir wp
$ cd wp

创建一个docker compose 配置文件

$ vim docker-compose.yml

然后 按 i 进入编辑模式,复制一下内容,按 esc 退出编辑模式,同时按 shift + : ,然后输入:wq 退出 vim。注意修改 MYSQL_PASSWORD 使用更加复杂的密码。

version: '3'services:
​
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 80:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - ./wordpress/html:/var/www/html
    depends_on:
      - db
​
  db:
    image: mysql:8
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: 'newpasswordroot'
    volumes:
      - ./mysql:/var/lib/mysql


然后启动 docker compose。

$ docker-compose up

在 浏览器中输入 http://test.tiankong.ai 就能看到安装界面。如果没有配置 A 记录,可以直接使用 IP地址访问。


四、安装 WordPress

首次打开会进入著名的五分钟安装界面。首先选择合适的语言,一般中文都在列表的最下面。

接下来是一些基本设置(注意不要使用常见的用户名密码,一方式恶意登录)。点击安装 WordPress ,稍等一会服务器就安装完成。

基本设置


到这里一个全新的网站已经上线了,在浏览器输入 http://test.tiankong.ai 就能看到我们的网站。

全新的网站

登录之后,我们可以对网站的主题、插件做详细的设置,这是另一个庞大的主题,不做说明,这里继续对服务器进行优化。


五、配置 https

https 是基础的网站安全配置,用来保证网站内容在传输过程中安全不被修改。https 就是 http over ssl 的意思。一个没有配置 https 的网站会被浏览器标记成不安全的网站

不被浏览器信任的网站

配置 https 需要用到 ssl 证书,ssl 分为 DV(验证域名)、OV(验证组织)、EV(安全增强型)三种证书。有许多机构提供免费的 DV 证书,对于个人网站这个就足够了。 这里推荐使用 阿里云 和 DigiCert 推出的免费证书,其他常用的有 Symantec、letsencrypt 等免费 DV 证书。如果不差钱,可以购买高级版本证书。

  1. 登录阿里云,进入 https://www.aliyun.com/product/cas ,点击立即购买;
  2. 选择 单域名、DV SSL、免费版,再次点击 立即购买;
  3. 进入 https://yundunnext.console.aliyun.com/?p=casnext,配置证书信息,等待证书商家验证通过。

配置 ssl

下载证书,并且配置 WordPress 服务器,请参考 https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520163.0.0.3f1156a7JwBxKY


最后

至此,一个生产环境可用的 WordPress 已经部署完成了。下面需要设置主题和插件、以及更新内容了。

发布于 05月14日
chat 0 条评论 book mark 收藏 three dots