本文档涵盖所有主流平台部署方式。
| 平台 | 难度 | 推荐 | 时间 |
|---|---|---|---|
| Netlify | 🟢 极简单 | ⭐⭐⭐⭐⭐ | 1 分钟 |
| Vercel | 🟢 极简单 | ⭐⭐⭐⭐ | 1 分钟 |
| Cloudflare Pages | 🟢 极简单 | ⭐⭐⭐⭐ | 2 分钟 |
| GitHub Pages | 🟡 简单 | ⭐⭐⭐ | 3 分钟 |
| Nginx | 🟡 中等 | ⭐⭐⭐ | 5 分钟 |
| Apache/虚拟主机 | 🟡 中等 | ⭐⭐ | 5 分钟 |
| 阿里云/腾讯云 OSS | 🟠 较复杂 | ⭐⭐ | 10 分钟 |
Fork 本仓库 到你的 GitHub
打开 Netlify 官网 注册登录
点击 Add new site → Import an existing project
选择你 Fork 的仓库,然后点击 Deploy site
✅ 完成! 2 分钟后你的网站就上线了
所有平台通用方式:
npm run build
out/ 目录所有文件上传到网站根目录。就这么简单!
out/ 目录包含以下部署适配文件:
| 文件 | 作用 |
|---|---|
_redirects |
Netlify/Cloudflare SPA 路由 |
.htaccess |
Apache 虚拟主机路由 + 缓存 |
404.html |
GitHub Pages SPA 路由回退 |
.nojekyll |
GitHub Pages 不忽略 _next 目录 |
server {
listen 80;
listen 443 ssl http2;
server_name your-domain.com;
# SSL 证书配置 (certbot 自动生成)
# ssl_certificate /etc/letsencrypt/live/...;
# ssl_certificate_key /etc/letsencrypt/live/...;
root /var/www/lingxu/out;
index index.html;
gzip on;
gzip_types text/css application/javascript image/svg+xml;
# SPA 路由 - 最关键配置
location / {
try_files $uri $uri/ /index.html;
}
# 永久缓存静态资源
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 1y;
add_header Cache-Control "public, immutable";
add_header Vary Accept-Encoding;
}
# 安全头
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
}
# Windows
$env:NEXT_PUBLIC_BASE_PATH='/LingXu'
npm run build
# macOS/Linux
NEXT_PUBLIC_BASE_PATH=/LingXu npm run build
LingXu(大小写敏感)out/ 目录内容推送到 gh-pages 分支部署后必做检查:
A: 已修复!initial={false} 确保 SSR 默认 opacity: 1
A: Netlify 已配置,Nginx 需要加 try_files 配置
A: GitHub Pages 需要设置 NEXT_PUBLIC_BASE_PATH 环境变量
A: 运行 npm run lint && npm run typecheck 先做本地检查
你的灵墟档案馆已经上线!
道阻且长,行则将至