利用Docker容器搭建WordPress博客网站
本文最后更新于 397 天前,其中的信息可能已经有所发展或是发生改变。

之前我利用打包好的LAMP Docker镜像搭建过一次WordPress博客平台,但是之后使用中每次服务器重启后,网站不知为何经常遇到起不来的情况,这次利用Docker-compose重新搭建一遍。

准备工作

搭建环境如下:

  • CentOS 7.9

安装Docker:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装最新版本Docker-compose(目前为2.9.0):

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

利用Docker-compose建立容器

建立工作目录并进入:

mkdir ~/webapp && cd ~/webapp

编写 docker-compose.yml

version: '3.3'
services:
   db:
     image: mysql:latest
     volumes:
       - "./mysql_data:/var/lib/mysql"
       - "./mysql_conf:/etc/mysql/conf.d"
       - "./mysql_log:/var/log/mysql"
     restart: always
     ports:
        - "3306:3306"
     environment:
       MYSQL_ROOT_PASSWORD: your-root-password
       MYSQL_DATABASE: WordPress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: your-password
   wordpress:
     depends_on:
       - db
     links:
       - db
     image: webdevops/php-apache:8.0-alpine
     ports:
       - "8000:80"
       - "4430:443"
     volumes:
       - "./wordpress:/app"
     restart: always

配置WordPress

下载WordPress并解压修改权限:

wget -c https://cn.wordpress.org/latest-zh_CN.tar.gz -O - | tar -xz && chmod -R 777 wordpress

进入wordpress文件夹,将 wp-config-sample.php 复制一份,命名为 wp-config.php ,修改其中参数:

cd wordpress
cp wp-config-sample.php wp-config.php
vi wp-config.php

找到这段代码,修改配置如下:

// ** Database settings - You can get this info from your web host ** //
/** WordPress使用的数据库名称 */
define( 'DB_NAME', 'WordPress' );

/** 数据库用户名 */
define( 'DB_USER', 'wordpress' );

/** 数据库密码 */
define( 'DB_PASSWORD', 'your-password' );

/** 数据库主机名 */
define( 'DB_HOST', 'db' );

/** 用于创建数据库表的数据库字符集 */
define( 'DB_CHARSET', 'utf8' );

/** 数据库排序规则,不修改 */
define( 'DB_COLLATE', '' );

启动容器并访问测试

执行以下代码启动容器:

docker-compose -f "docker-compose.yml" up -d

浏览器访问服务器IP:8000端口测试,按步骤配置WordPress

配置持久对象缓存

修改 wp-config.php 添加如下内容并保存:

define('WP_REDIS_HOST', 'redis');
define('FS_METHOD','direct');

进入网站后台,左侧插件功能安装插件,搜索“Redis Object Cache”并安装。
如图所示,选择“Enable Object Cache”启用持久对象缓存:

redis

疑难解答

  1. MySQL 容器启动后提示:[Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'

    docker-compose.yml 中,db容器下加一行如下代码:

    command: --default-authentication-plugin=mysql_native_password
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇