Wordpress迁移
原因
原来在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
see also