之前使用1Panel部署Wordpress,连接远程的数据库,Wordpress与远程数据库之间使用TLS连接(参考给MariaDB套件配置TLS)。在运行了一段时间之后,还是决定在数据库同一个服务器上使用容器部署Wordpress,这样不光是数据库,并且应用文件也可以简单的自动备份。
1. 使用Docker Compose部署Wordpress
- 创建好Wordpress挂载的目录
/volume1/docker/blog/data
; - 使用如下Compose yaml创建容器项目:
services:
wordpress:
image: wordpress:latest
container_name: wordpress-blog-1
restart: unless-stopped
user: root
ports:
- "18080:80"
environment:
WORDPRESS_DB_HOST: {数据库主机IP}:{数据库监听端口}
WORDPRESS_DB_USER: {数据库用户名}
WORDPRESS_DB_PASSWORD: {数据库用户密码}
WORDPRESS_DB_NAME: {数据库名}
WORDPRESS_TABLE_PREFIX: wp_
WORDPRESS_CONFIG_EXTRA: |
define('WPLANG', 'zh_CN');
volumes:
- /volume1/docker/blog/data:/var/www/html
2. 修改Wordpress上传媒体文件大小
- 创建配置文件
/volume1/docker/blog/config/uploads.ini
; uploads.ini
文件内容为:
upload_max_filesize = 300M
post_max_size = 300M
memory_limit = 512M
max_execution_time = 300
- 挂载上述文件至容器内,修改
yaml
文件内容为:
services:
wordpress:
image: wordpress:latest
container_name: wordpress-blog-1
restart: unless-stopped
user: root
ports:
- "18080:80"
environment:
WORDPRESS_DB_HOST: {数据库主机IP}:{数据库监听端口}
WORDPRESS_DB_USER: {数据库用户名}
WORDPRESS_DB_PASSWORD: {数据库用户密码}
WORDPRESS_DB_NAME: {数据库名}
WORDPRESS_TABLE_PREFIX: wp_
WORDPRESS_CONFIG_EXTRA: |
define('WPLANG', 'zh_CN');
volumes:
- /volume1/docker/blog/data:/var/www/html
- /volume1/docker/blog/config/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
- 重启容器项目,将发现允许上传的媒体文件大小已经变成300MB:
3. 一些注意事项
- 注意在防火墙上开放Wordpress容器网络访问数据库监听端口;
- 需要将
/volume1/docker/blog/data
和/volume1/docker/blog/config
目录的用户属主和组设置为33,否则会出现权限问题导至无法正常上传或删除文件。
chown -R 33:33 /volume1/docker/blog/data
chown -R 33:33 /volume1/docker/blog/config