在安卓手机上搭建个人博客的赛博折腾记录

记录我是如何把一台安卓手机爆改成全天候运行的 Web 服务器,并配合云穿透实现跨平台随时写作的。

把一台安卓手机变成全天候运行的服务器,这里记录一下整个博客的底层架构、一键启动脚本以及日常编辑的工作流,作为个人记录用 Desuwa。

1. 核心底层架构(搭建过程)

整个站点的运行不需要去购买云服务器,所有的计算和渲染都在手机里完成。

  • 运行环境:安卓端安装 Termux,提供完整的 Linux 终端环境。
  • 核心引擎:使用 Hugo 生成静态页面,并配置了功能齐全的 Stack 主题。
  • 外网穿透:通过 Cloudflared 建立加密隧道。把本机的 8080 端口映射到公网域名,同时打通了 SSH 通道。
  • 云端编辑器:在 Termux 内运行 code-server,提供网页版的 VS Code 界面。

2. 自动化启动方案

手机重启后,手动敲命令拉起服务效率太低。为了实现“一键复活”,配置了结合 tmux 的自动化脚本。

手机开机打开 Termux 后,直接执行以下代码:

1
2
3
4
5
6
termux-wake-lock
sshd
tmux new-session -d -s blog "cloudflared tunnel run"
tmux new-window -t blog:1 "code-server --auth none --bind-addr 127.0.0.1:8443"
tmux new-window -t blog:2 "cd ~/myblog && hugo server -D -p 8080"
tmux attach -t blog

这段脚本执行了以下操作:

  1. 获取唤醒锁,防止安卓杀后台。
  2. 启动 SSH 服务,允许电脑远程接入。
  3. 创建名为 blog 的虚拟窗口,在后台并行三个任务:内网穿透、VS Code 服务、Hugo 本地实时预览。
  4. 随时可以通过快捷键 Ctrl+B 配合数字键 0, 1, 2 切换查看不同服务的实时日志。

3. 跨端编辑流

服务端跑通后,日常编辑不需要在手机屏幕上操作。

在电脑端打开终端,执行端口转发:

1
ssh -L 8443:127.0.0.1:8443 phone

接着,在电脑浏览器里打开 http://localhost:8443/,即可接入完整的 VS Code 界面。工作流如下:

  • 敲击 Ctrl + ~ 呼出终端,使用 hugo new post/文章名.md 创建新文章。
  • 直接在网页编辑器里撰写 Markdown 内容。
  • 按下 Ctrl + S 保存,Hugo 会在毫秒级完成重新编译。
  • 刷新博客对应的公网页面,即可看到最新排版效果。
comments powered by Disqus
使用 Hugo 构建