Docker下安装WordPress

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、导入镜像到容器管理器

4、整合ftp及oss

https://developer.alibaba.com/docs/doc.htm?treeId=620&articleId=115843&docType=1

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注