Wordpress迁移

来自linuxsa wiki
Evan留言 | 贡献2025年6月21日 (六) 04:03的版本 trouble shooting
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

原因

原来在bsd上的 被围墙了,于是 搞个新的VPS 并容器化它 反正加个浮动IP也是差不多一天一块钱呢 以后 作ss的机器要分开来

docker wordpress

2025

docker network ls 
NETWORK ID     NAME                  DRIVER    SCOPE
1e5e3ddf3937   docker4wiki_default   bridge    local

#mariadb 是在mediawiki docker-compose里的名
 cat  runwordpress.sh  #如果不要安全 也可直接root 
docker run --name blogwordpress \
	--network docker4wiki_default \
	-p 127.0.0.1:8001:80  -e WORDPRESS_DB_HOST=mariadb:3306 \
    -e WORDPRESS_DB_USER=evan   -e WORDPRESS_DB_PASSWORD='evan224ddr3T'   -v /data/wordpress-html:/var/www/html -d wordpress


ng

cat   /etc/nginx/conf.d/blog.linuxsa.org.conf 
#    upstream dockerwiki {
#        server  127.0.0.1:8080 weight=5;
#        #server  10.138.132.61:8080 weight=5;
#        keepalive       64;
#    }
#
server{
listen  80;
server_name  blog.linuxsa.org;

location / {
        #proxy_pass        http://dockerwiki;
        #proxy_pass        http://10.46.0.6:8001;
        proxy_pass        http://127.0.0.1:8002/;
        proxy_http_version   1.1;
        #proxy_set_header   Host             $host:80; #The page isn’t redirecting properly
        proxy_set_header   Host              $host; #只传递主机名
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}

access_log  /var/log/nginx/blog.linuxasaccess.log;

}


准备 数据库

apt install mariadb-client

reboot 机器后 找不到 mysql密码去 wiki容器里面看

docker logs  mysqlip 得知  root密码 
GENERATED ROOT PASSWORD: dfaf fdsafsafdsfm3phai9si4zail

/data/docker4wiki#  mysql -uroot  -h127.0.0.1  -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'172.18.0.1' (using password: YES)

其实有原来密码的了 很可怕长的呢 
上面的报错得到加这个授权 br-d37ea77d2393   172.18.0.1 
 grant all on *.* to 'eva'@'172.18.0.1' identified by 'eva';

wordpress ins

ps: 这个是老的文档了 这一节  可以不看
 docker ps 
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                      NAMES

bbf90fc9c38cb        mariadb                "docker-entrypoint.s…"   20 hours ago        Up 15 hours         0.0.0.0:3306->3306/tcp     docker4wiki_database_1

可见 有原来的db了 ,那就直接run 不能docker-compose了 

#note 数据库是 wordpress 以后看能不能指定 因为再安装一个wp的话 不能重名喽 
docker run --name blogwordpress -p 8001:80  -e WORDPRESS_DB_HOST=172.18.0.1:3306 \
    -e WORDPRESS_DB_USER=eva  -e WORDPRESS_DB_PASSWORD=eva1   -v /wordpress-html:/var/www/html -d wordpress

$docker run --restart=always
#如果已经启动了则可以使用如下命令:
$docker update --restart=always <CONTAINER ID> 


然后配置ng 打开就是安装wordpress

上次不小心删除了 /data/wordpress-html  再起一下 改一下 mysql 


jul 15  2021 改了和wiki一样的mysql密码 db 可以连 不过web还是打不开 w3m http://127.0.0.1:8001 打开不对 

这个可以打开呀  那就是db 问题而已
http://blog.linuxchina.net/e.php

在log不小心看到这个 原来要这样升级db 也有可能是我手工进去改了生效 , 不然 Error establishing a database connection
http://blog.linuxchina.net/wp-admin
 

导出导入2025

利用自带的导出导入功能就行了 

导入用命令行 wp import

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
 chmod +x wp-cli.phar
 mv wp-cli.phar /usr/local/bin/wp
#WP-CLI 需要用到 WordPress Importer 插件来处理 .xml 导入:
 wp plugin install wordpress-importer --activate --allow-root 

 wp import linux.WordPress.2025-06-20.xml  --authors=create --allow-root 

上传大小

在WordPress容器里的/usr/local/etc/php/conf.d目录是php的相关配置,我们可以新建一个uploads.ini的配置文件,里面是上传相关的配置

file_uploads = On
memory_limit = 500M
upload_max_filesize = 30M
post_max_size = 30M
max_execution_time = 600

trouble shooting

因为db用的是mediaiwki 的 , 数据卷持久化 了,所以第一次test 时用了 8001 的 于是第二次重新安装后还是域名带端口 

进入db 把整个库drop掉 重新安装wordpress 然后再参考 上几节的 数据导入 用wp import 导出导入2025

#我db 固化了 
root@r955f20:/data# curl -i http://blog.linuxsa.org
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 21 Jun 2025 02:10:57 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
X-Powered-By: PHP/8.2.28
X-Redirect-By: WordPress
Location: http://blog.linuxsa.org:8001/

see also

Docker-compose部署wordpress


烂泥:wordpress迁移到docker


docker部署WordPress出现上传的文件尺寸超过php.ini中定义的upload_max

增加 WordPress 上传附件大小尺寸的限制

WordPress上传文件大小限制修改