1. 前言
搭建环境基于 Ubuntu24.04 的云服务器
2. 安装 docker
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt updateBash上面的 docker 下载地址是官方提供的,国内的服务器访问可能会出现网络问题,可以替换为国内的下载源:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
安装最新版本的 docker:
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
修改 docker 的镜像源,创建/etc/docker/daemon.json并写入:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run",
"https://docker.gh-proxy.com"
]
}JSON3. 安装 MySQL 和 WordPress
- 创建 docker 网络分区:
docker network create blog - 拉取 mysql:
docker pull mysql:8.0 - 在本地创建挂载目录:
cd /root
mkdir mysql
mkdir wordpressBash- 启动 mysql :
docker run -d --name mysql --network blog -v /root/blog/mysql/data:/var/lib/mysql -v /root/blog/mysql/conf:/etc/mysql/conf.d -v /root/blog/mysql/logs:/var/log/mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=密码 mysql:8.0 - 进入 Mysql 容器中修改 root 访问权限,创建
wordpress数据库:
docker exec -it mysql /bin/bash
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
create database wordpress;Bash- 拉取并启动 WordPress
docker pull wordpress
docker run -it --name wordpress -p 3307:80 -v /usr/local/share/wordpress:/var/www/html -d wordpressBash4. 修改 WordPress 文件上传限制
在上传第三方主题时,WordPress 提示文件超出最大文件限制,解决方案如下:
- 进入 WordPress 的 docker 容器:
docker exec -it wordpress /bin/bash
cd /usr/local/etc/php/conf.d
touch uploads.ini
echo file_uploads = On >> uploads.ini
echo memory_limit = 500M >> uploads.ini
echo upload_max_filesize = 100M >> uploads.ini
echo post_max_size = 100M >> uploads.ini
echo max_execution_time = 600 >> uploads.iniBash
Comments NOTHING