由于技术能力有限,迁移时处理伪静态重写规则存在偏差,未能做到平滑过渡。
故经过接近6个小时的折腾才解决问题,当前博客运行于CC机房的服务器上。
PS: 我把我的家庭服务器(J3160)顺道重装Debian12了,因为之前搞的比较乱,简单备份了下关键配置就重装了。

敬告各位博友

由于全球DNS广播存在延迟,当前部分同步速度较慢的DNS服务器对主域名xfox.fun的记录还停留在旧的中国大陆境内的IP,为了避免造成误解,原服务器站点已设置强制跳转到本页面。
SSL证书等休息够再上。

主要过程:

参考资料:
How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Debian 9
如何在Debian 11上安装MariaDB

sudo cp /etc/nginx/site-available/default /etc/nginx/site-available/xfox_fun
sudo ln -s /etc/nginx/site-available/xfox_fun /etc/nginx/site-enable/xfox_fun
sudo mkdir /var/www/xfox.fun
sudo apt install php-fpm php-mysql mariadb-server #此处还应该安装php-mbstring (这是后来typecho提示的缺失插件)
sudo mysql_secure_installation #注意一定要禁止root账户远程登录
sudo mariadb #创建一个新的账户用于登录和操作数据库
GRANT ALL ON *.* TO '数据库用户名'@'localhost' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;

特殊经验总结

Typecho地址重写规则

现用重写规则:

if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php) {
rewrite (.*) $1/index.php;
}
if (!-f $request_filename) {
rewrite (.*) /index.php;
}

原服务器使用的规则:

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
}

新服务器运行nginx 1.18套用原规则时无法正常工作,出现500错误。
原服务器运行nginx 1.20未出现此问题。

下次迁移预告

直接在本地部署服务,使用Cloudflare Tunnels对外提供访问渠道。

下一步计划

  1. 使用podman打包制作一个容器镜像以便于博客平滑迁移。

标签: none

已有 14 条评论

  1. 哈哈,不折腾不生活。

    1. 我没办法在你的博客下留言。
      任何评论都会触发以下报错:
      Argument 1 passed to Widget\Base\Comments::insert() must be of the type array, null given, called in /www/wwwroot/wuziya.com/var/Widget/Feedback.php on line 265

      1. 刚停用了一个插件,居然出错了。

        1. 现在已经恢复正常了,真是一动而牵起全身啊。🤣

  2. 话说你有没有什么办法让你的博客发纯文本邮件?html 邮件查看要额外软件,而且终端上的效果也不咋地。

    https://useplaintext.email/

    1. 这个插件没法针对特定邮箱指定格式,如果改就只能发给所有人都纯文本。但是纯文本对大部分人来说显示效果更差;)

      1. 确实,毕竟都用了 QQ 邮箱,也不能指望什么。 🤪

        1. 好消息是proxy_protocol传递Real IP的问题解决了。(对你可能不是好消息,但是至少没特别坏。)

  3. Racknerd! 总算是摆脱老大哥的服务器了 lol

    1. 我说过的,国内服务器到期就迁移。
      你的IP地址是127.0.0.1看来我的proxy_protocol还是没搞好;)你应该是通过https访问的吧?

      1. 没错,是 HTTPS 访问的。至于 IP 是 127.0.0.1,大概是因为 X-Forwarded-For 和 X-Real-IP 请求头的配置问题吧。不过不记录 IP 倒也挺好的 ;-)

        1. 我仍然没成功修复这个问题,按理来说配置方法是没问题的但是结果不符合预期。

  4. EricQAQ EricQAQ

    我电脑上联想和Edeg一直显示此站点的连接不安全(发送了无效的响应),手机却可以正常进入,有大佬知道是什么问题吗?(┯_┯)
    访问其他网站很正常

    1. 我的问题,我说了的SSL还没有上。而之前我的Nginx配置写了add_header Strict-Transport-Security "max-age=31536000"; 你的设备如果在我开启HSTS的时候访问过我的站点就会缓存此规则默认365天内强制使用https,但是我现在还没上SSL证书,所以你需要手动删除过去的页面缓存。
      PC 可以Ctrl Shift + Del把缓存删掉。

添加新评论