空色天絵 / NEO TOKYO NOIR 01
653 字
3 分钟
Fuwari主题博客部署指南
Fuwari 博客部署指南
本指南介绍如何在服务器上通过 Docker 部署 Fuwari 博客,并使用 Nginx 提供公网访问。
1. 获取项目代码
使用 git 将仓库克隆到本地(假设路径为 /root):
git clone https://github.com/saicaca/fuwari.git2. 安装 Node.js 与 pnpm
推荐使用 Node.js v22.21.1 (LTS) 与 pnpm 配合 Docker 运行:
这里使用的是官网的
Get Node.js v22.21.1 (LTS) for Linux using Docker with pnpm
版本。
# 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 中挂载本地项目目录:
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. 安装依赖并启动开发环境
有两种方式执行命令:
- 进入容器执行:
docker exec -it fuwari shcd /root/fuwaricorepack enable pnpmpnpm installpnpm add sharppnpm dev- 直接在宿主机执行带
docker exec -w的命令:
docker exec -w /root/fuwari fuwari corepack enable pnpmdocker exec -w /root/fuwari fuwari pnpm installdocker exec -w /root/fuwari fuwari pnpm add sharpdocker exec -w /root/fuwari fuwari pnpm dev默认开发环境仅在本机访问:http://localhost:4321。
如需公网访问,可加 --host 0.0.0.0:
pnpm dev --host 0.0.0.0此时可以以使用<服务器公网ip>:4321进行访问。
NOTE因为这里是docker环境,所以不加
--host 0.0.0.0会导致无法访问,建议还是加上,或者不使用docker。
同时需要注意开放公网访问的隐患,建议使用pnpm build构建静态网页再进行访问。
中止或重启服务:
docker stop fuwaridocker restart fuwari若在容器内执行 pnpm dev,可使用 Ctrl+C 停止。
5. 构建静态网页
将网站构建为静态文件:
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/ 访问博客。