PinnedPinnedPrivate

把这个博客部署上线,踩的三个坑

tt.hn 从零部署到阿里云的过程里,有三个坑值得记下来,都不是文档会告诉你的。

1. 运维通道:SSH 出站被挡,改走云厂商的远程命令。 从本机 SSH 到新机器一直超时,排查发现是网络出口对裸 TCP 22 端口的分流问题。绕开的办法是干脆不用 SSH——改用云厂商的远程命令能力(阿里云叫 Cloud Assistant),通过云 API 直接在实例上执行脚本,不依赖 SSH、不受源 IP 限制,反而更稳。

2. SQLite 打不开:容器里的写权限。 容器起来后数据库迁移报 SQLITE_CANTOPEN。原因是绑定挂载(bind mount)的数据目录在宿主机上是 root 属主,而容器内进程是非 root 用户(uid 1000),没有写权限。本地 Docker Desktop 不暴露这个问题,Linux 上才会。修复就一句:把数据目录 chown 给容器用户。

3. 网站打不开,但加 www 就行。 上线后裸域名访问不了,加 www 却正常。查下来真凶是本机的代理软件(Clash)按域名分流——裸域名被路由到一个不通的节点,www 走了另一条线。直连、绕过代理时两个都正常。

三个坑的表象都指向「服务器坏了」,真因却全在别处:网络出口、文件权限、本地代理。

把这个博客部署上线,踩的三个坑