Dokcer下安装MariaDB
docker run --name mariadb --env MARIADB_ROOT_PASSWORD=Swwf&9810817 -p 3808:3306 \
-v /opt/docker_data/mariadb/data:/var/lib/mysql -d mariadb:latest
创建用户及数据库
mysql -u root -h localhost -P 3808 -p #连接数据库
create database wordpress_db;
create user wordpress@'127.0.0.1' identified by '此处设置密码';
create user wordpress@'%' identified by '此处设置密码';
grant all on wordpress_db.* to wordpress@'%';
grant all on wordpress_db.* to wordpress@'127.0.0.1';
flush privileges;
运行如下结果如下
docker ps -a
fbcc22f67183 mariadb:latest "docker-entrypoint.s…" 34 hours ago Up 34 hours 0.0.0.0:3808->3306/tcp, :::3808->3306/tcp mariadb
运行WordPress
!/bin/bash
/usr/local/bin/docker run --name wordpress_findme -p 30082:80 \
-e WORDPRESS_DB_HOST=mariadb-public \
-e WORDPRESS_DB_USER=wordpress \
-e WORDPRESS_DB_PASSWORD="tdjgamtam" \
-e WORDPRESS_DB_NAME=wordpress_findme \
-e WORDPRESS_TABLE_PREFIX=wp_ \
-v wordpress/data:/var/www/html --link mariadb-public:mysql -d xxxxx/wordpress:6.5.4-php8.1-apache
配置Nginx代理
server{
listen 8082;
server_name www.domain.com;
location / {
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Proxy "";
proxy_pass http://127.0.0.1:30082;
}
}
备份与还原
1、备份数据库
要经常备份WordPress的数据库,下面例子中备份的是文章、分类及对应关系,也可以备份整库。
mysqldump -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_dokbok wp_posts -t --compact --column-statistics=0 > wp_posts.sql
mysqldump -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_dokbok wp_term_relationships -t --compact --column-statistics=0 > wp_term_relationships.sql
mysqldump -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_dokbok wp_terms -t --compact --column-statistics=0 > wp_terms.sql
mysqldump -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_dokbok wp_term_taxonomy -t --compact --column-statistics=0 > wp_term_taxonomy.sql
2、还原数据库
mysql -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_site < wp_posts.sql
mysql -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_site < wp_term_relationships.sql
mysql -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_site < wp_terms.sql
mysql -h 127.0.0.1 -u root -pChwfwf@22 -P 3808 tech_site < wp_term_taxonomy.sql
如果遇到文章中的图片路径不正确(如更换域名),需要替换wp_posts.sql文件下的图片路径后再还原。
3、备份图片
cp /data/dockers_data/wordpress/tech_site/wp-content/uploads/ /bak/uploads
常用主题及问题解决
1、常用主题及插件
#主题
Blocksy
#插件
Elementor
2、解决上传文件大小限制
在Wordpress的Docker安装目录中,找到【.htaccess】文件,并在末尾添加如下配置,然后重启Docker容器即可。
php_value upload_max_filesize 200M
php_value post_max_size 200M
php_value max_execution_time 300
php_value max_input_time 300
如果使用了nginx,则也需要对nginx进行配置
server {
listen 8083;
client_max_body_size 81920M;
server_name wwww.trgrrrrg.com;
location / {
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Proxy "";
proxy_pass http://172.16.0.247:30083/;
}
}
3、导入镜像到容器管理器
# 注意,导出的文件格式必须是tar文件
docker save -o wordpress-6.7.1-php8.2-apache.tar wordpress:6.7.1-php8.2-apache
4、整合ftp及oss
https://developer.alibaba.com/docs/doc.htm?treeId=620&articleId=115843&docType=1