前言
我的博客从2018
年走到现在不知不觉已经有4个年头了。一路走来转过好几个地方,最早搭建在群晖上,通过套件部署起来十分方便,唯一不足就是由于运营商封禁了80
和443
端口,外网访问起来需要通过加上端口号。后来直到被电信查水表后无奈关闭外网端口
PHP
以及数据库,再使用Apache
进行配置反代。整体部署难度虽算不上困难,但也需一定的时间而且后续的升级也容易出现问题。最近在尝试了下用docker
来部署WordPress
,部署过程非常简单,后续升级也很方便。再次记录下
开始搭建
安装Docker及Docker-Compose
#安装docker
wget -qO- get.docker.com | bash
#查看Docker版本
docker -v
#设置开机启动
systemctl enable docker
#安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/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
搭建Wordpress
#建立文件夹
mkdir -p /root/data/docker_data/wp
#进入目录
cd /root/data/docker_data/wp
#编辑docker-compose.yml文件
nano docker-compose.yml
docker-compose.yml
内容如下:
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- ./db:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./data:/var/www/html
ports:
- "7000:80" //7000可自行更改
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
运行容器
docker-compose up -d
反向代理
我使用的是Nginx Proxy Manager
来进行反代。打开Block Common Exploits
,配置完SSL
后就能通过域名直接访问WordPress
咯
一些配置及优化
优化1:上传文件大小限制2m
#进入wordpress容器
docker exec -it wordpress bash //wordpress是容器名
#复制php.ini
cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
#安装nano
apt update -y && apt install nano -y
#修改php.ini
nano /usr/local/etc/php/php.ini
#修改三个地方
upload_max_filesize = 200M //文件大小限制
post_max_size = 250M //post大小限制
memory_limit = 500M //内存占用限制
#重启容器
docker-compose restart
优化2:配置redis
插件商店安装Redis Object Cache
后,然后编辑/wp路径/data/wp-config.php
如下
define("WP_REDIS_HOST","172.31.0.2"); //修改成redis的ip
define("WP_REDIS_PORT",6379); //修改成redis的端口
更新
前言说到普通安装在后续更新上需要更新本体及环境,而Docker
版在更新上就简单很多了,按下列步骤更新即可
#进入Wordpress的yml目录
cd /root/data/docker_data/wp
#停止容器
docker-compose stop
#拉取最新镜像
docker-compose pull
#启动容器,即完成更新
docker-compose up -d
最后
特别提醒下解除上传文件大小限制的操作在每次更新容器后都需要执行,我尝试过映射对应路径进行固化的操作但失败了;而Redis缓存配置固化顺利成功,后续更新后不需要再次操作。
发表回复