你好特别,你和我认识的计算机学生都不一样,你给我一种疲惫感,很想睡觉的感觉,庄周梦蝶。我听过很多大学生说自己困,但我觉得你的困才是真正的困。感觉你的宿舍桌上一直都只有一台电脑,你一直在pua自己。你想要一点calculus,一点linear algebra,一点C语言,甚至一点学术英语,你想要现成的分数,你想要能拿高分的平时分,你想要老师的pdf炙烤你的灵魂,你想要能够消耗你生命的计算。你给我的感觉就像白居易那句此恨绵绵无绝期。在任何时候看到你都会吸引我的目光,即使你面色铁青。很多时候我想去了解你,想知道你在学什么,又觉得你的外界有一层怨气,我不敢打破。你坐在那里我感觉你都要猝死了。
迁移原因
碎碎念
因为图省事,反正笔记本要串流得24h开机,就把blog一直挂在笔记本上,还能顺带实现点前后端互通的作业通知机之类的小功能,结果给寒假要带笔记本回家打游戏的自己埋了个坑。
脱离了学校的千兆对等公网专线之后,blog变成了只有我能访问的自言自语的小角落。突然有了连更两篇blog的莫名的行动力,那就趁热打铁,准备接下来速通wordpress的迁移和各种小功能的构建。
服务器
从山东通过ssh访问放在北京宿舍里的300元主机(同时也是bjtu.top的服务器),将wordpress内容打包上传,并配置好ddns和php配置,能够顺利进行公网访问,即可视为完工。
操作记录
路径
/etc/nginx nginx主要配置文件目录
命令
sudo nginx -t //检测nginx配置文件是否正确
sudo systemctl restart nginx //重启nginx
导出部分
首先把wordpress下的wp-content文件夹全部打包上传到服务器,然后进入phpMyAdmin导出数据库。
很不幸的是,我忘记了数据库的密码。焦头烂额之际,幸运的是,wordpress的配置文件里存了密码,成功打赢了复活赛。

打赢复活赛后把wordpress_db.sql也丢上服务器
配置目标服务器的nginx
由于笔记本上使用的是Apache2,目标服务器用的是nginx,需要先在目标服务器的/etc/nginx/sites-available写好wordpress的配置文件,并使用
sudo ln -s /etc/nginx/sites-available/wordpress sudo ln -s /etc/nginx/sites-enabled/
来建立配置文件的软链接,随后输入
systemctl reload nginx
重启nginx服务
Mysql迁移
首先在目标服务器上导入wordpress_db.sql文件
# 创建数据库
CREATE DATABASE wordpress_db;
# 切换到wordpress_db表单
use wordpress_db;
# 导入sql文件
source /path/to/wordpress_db.sql;
然后创建能访问数据库的用户
# 创建用户(本地访问)
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY '你的密码';
# 授予该用户对数据库的所有权限(本地访问)
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
# 授予该用户对数据库的所有权限(远程访问)
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'%';
# 刷新权限使生效
FLUSH PRIVILEGES;
# 查看用户权限
SHOW GRANTS FOR 'wordpress_user'@'localhost';
问题解决
由Apache2到Nginx引起的404问题
原先WordPress可以利用Apache的mod_rewrite来实现URL的静态化。安装好的WordPress在配置了持久链接之后,会在网站的根目录下生成一个.htaccess文件,
Apache识别.htaccess文件并了解如何进行URL重写,当转为Nginx后不识别该文件了,导致伪静态规则无效,从而导致404了
解决方案:在nginx站点配置文件中加入
location / {
try_files $uri $uri/ /index.php?$args;
}
参考文献:https://www.mlplus.net/2023/06/15/wordpress-nginx-rewrite
打开Wordpress首页变成了下载php文件的问题
直接刷新了edge缓存就行了,打开控制台后长按左上角刷新键就能出来一个清空缓存并进行硬刷新
权限问题
无法将上传的文件移动至 wp-content/uploads/xxx
chown -R www-data /opt/blog/wordpress
给wordpress文件夹递归设定一下所有者就好了
Comments NOTHING