283 字
1 分钟
把这台服务器变成博客:Astro + Docker 实录

记录一下这次把博客搬上服务器的过程,给以后的自己留一份说明书。

环境#

  • Ubuntu 24.04 / 4 核 / 3.6G 内存
  • Node 24 + pnpm
  • Docker 与 Docker Compose

一、拉主题、装依赖#

Terminal window
git clone --depth=1 https://github.com/saicaca/fuwari.git blog
cd blog
pnpm install
NOTE

Fuwari 用 pnpm 管理依赖。preinstall 里有一条 only-allow pnpm,所以用 npm install 会直接退出。

二、改配置#

站点信息集中在 src/config.ts,标题、语言、主题色、壁纸都在这里:

export const siteConfig: SiteConfig = {
title: "星屑ノート",
lang: "zh_CN",
banner: {
enable: true,
src: "assets/images/banner.webp",
},
};

三、构建#

Terminal window
pnpm build

产物在 dist/ 里,是纯静态文件,扔给任何一个 web server 都能跑。

四、用 Docker 跑 Nginx#

docker-compose.yml:

services:
blog:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./dist:/usr/share/nginx/html:ro
restart: unless-stopped
Terminal window
docker compose up -d
curl -I http://127.0.0.1/

看到 200 OK 就算成了。

踩到的坑#

  • 443 没开:云厂商安全组默认只放行 22 和 80,HTTPS 要手动加规则
  • Docker Hub 拉不动:换成 m.daocloud.io/docker.io/library/nginx:alpine 就顺畅了
  • 非 root 绑不了 80:交给 Docker 做端口映射,不用改内核参数

下一步#

等备案下来,把域名指过来,再上 HTTPS。静态站的好处就是——迁移的成本几乎为零。

把这台服务器变成博客:Astro + Docker 实录
https://yukisama-blog.pages.dev/posts/deploy-notes/
作者
Yuki
发布于
2026-11-02
许可协议
CC BY-NC-SA 4.0