653 字
3 分钟
Fuwari主题博客部署指南

Fuwari 博客部署指南#

本指南介绍如何在服务器上通过 Docker 部署 Fuwari 博客,并使用 Nginx 提供公网访问。

1. 获取项目代码#

使用 git 将仓库克隆到本地(假设路径为 /root):

Terminal window
git clone https://github.com/saicaca/fuwari.git

2. 安装 Node.js 与 pnpm#

推荐使用 Node.js v22.21.1 (LTS) 与 pnpm 配合 Docker 运行:

这里使用的是官网

Get Node.js v22.21.1 (LTS) for Linux using Docker with pnpm

版本。

Terminal window
# Docker has specific installation instructions for each operating system.
# Please refer to the official documentation at https://docker.com/get-started/
# Pull the Node.js Docker image:
docker pull node:22-alpine
# Create a Node.js container and start a Shell session:
docker run -it --rm --entrypoint sh node:22-alpine
# Verify the Node.js version:
node -v # Should print "v22.21.1".
# Download and install pnpm:
corepack enable pnpm
# Verify pnpm version:
pnpm -v

注意:上面那些代码只需要运行 docker pull node:22-alpine
官方建议 Node.js <= 22,pnpm <= 9,如版本不符请调整。

3. 启动 Docker 容器#

在 Docker 中挂载本地项目目录:

Terminal window
docker run -d \
--name fuwari \
-p 4321:4321 \
-v /root/fuwari:/root/fuwari \
node:22-alpine \
tail -f /dev/null

-v /root/fuwari:/root/fuwari 将本地项目挂载到容器,方便开发和构建。

4. 安装依赖并启动开发环境#

有两种方式执行命令:

  1. 进入容器执行:
Terminal window
docker exec -it fuwari sh
cd /root/fuwari
corepack enable pnpm
pnpm install
pnpm add sharp
pnpm dev
  1. 直接在宿主机执行带 docker exec -w 的命令:
Terminal window
docker exec -w /root/fuwari fuwari corepack enable pnpm
docker exec -w /root/fuwari fuwari pnpm install
docker exec -w /root/fuwari fuwari pnpm add sharp
docker exec -w /root/fuwari fuwari pnpm dev

默认开发环境仅在本机访问:http://localhost:4321
如需公网访问,可加 --host 0.0.0.0

Terminal window
pnpm dev --host 0.0.0.0

此时可以以使用<服务器公网ip>:4321进行访问。

NOTE

因为这里是docker环境,所以不加--host 0.0.0.0会导致无法访问,建议还是加上,或者不使用docker。
同时需要注意开放公网访问的隐患,建议使用pnpm build构建静态网页再进行访问。

中止或重启服务:

Terminal window
docker stop fuwari
docker restart fuwari

若在容器内执行 pnpm dev,可使用 Ctrl+C 停止。

5. 构建静态网页#

将网站构建为静态文件:

Terminal window
pnpm build

构建完成后,/root/fuwari/dist 目录下将生成静态网页,可用于 Nginx 部署。

6. Nginx 配置示例#

6.1 HTTP 访问#

server {
listen 80;
listen [::]:80;
http2 on;
server_name example.com; # 已解析到服务器的域名
root /root/fuwari/dist; # 指向 dist 目录
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}

6.2 HTTPS 访问(需要证书)#

server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.cert.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key.pem;
root /root/fuwari/dist; # 指向 dist 目录
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
NOTE

需要将你的域名解析到你的服务器ip才可域名访问

配置完成后,可通过 http://example.com/https://example.com/ 访问博客。

Fuwari主题博客部署指南
https://ifimi.cn/posts/fuwari-deploy/
作者
花花
发布于
2025-11-11
许可协议
CC BY-NC-SA 4.0