使用Docker来安装mysql和WordPress
由于服务器上已经安装了MySQL作为主要的服务使用,为了不影响线上服务,准备另起一个MySQL来给WordPress使用。
MySQL单独配置还挺麻烦的,这个最适合使用Docker来部署。
docker run --name mysql -p 3308:3306 -v /DATA/public/www/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
具体解释参考 Docker实例:部署mysql
wordpress也可以通过docker安装,自带了php,nginx和wordpress,由于服务器上已经安装了php和nginx,就没有直接使用docker,于是手动安装wordpress。
需要注意的是,安装wordpress时需要实现在mysql中create database,否则会报错说mysql无法连接。
安装完成后是英文的,需要下载简体中文语言包,在wp-config.php中加入下面几行:
define('WPLANG', 'zh_CN');
define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
需要将wordpress目录下所有文件的所有者改为php运行用户nobody。
一键安装
先建立一个文件 ~/wodpress/docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/home/ubuntu/wordpress/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: qwert54321
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "9090:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
volumes:
db_data:
php默认上传大小为2M,会导致很多插件之类的上传不成功,于是新建一个uploads.ini更改上传大小:
file_uploads = On
memory_limit = 500M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 600
然后启动
docker-compose up -d
重启:
docker-compose down
docker-compose up -d
放弃容器中的所有修改
docker-compose up -d --force-recreate