Files
homepage/docs/DEPLOYMENT.md
T
2026-08-18 09:57:55 +08:00

73 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 部署说明
## 环境
- AlmaLinux 9
- Nginx
- Cloudflare CDN
- Cloudflare SSL/TLS:`Full (strict)`
网站是纯静态文件,不需要数据库、Node.js 服务或常驻应用进程。
## 生成发布包
在仓库根目录执行:
```powershell
Compress-Archive -Path .\site\* -DestinationPath .\midctrl-homepage-public.zip -CompressionLevel Optimal
Get-FileHash .\midctrl-homepage-public.zip -Algorithm SHA256
```
发布 ZIP 不应提交到 Git。
## 部署网站文件
将 ZIP 上传后解压到独立网站目录:
```bash
mkdir -p /var/www/midctrl.com
unzip -o /root/midctrl-homepage-public.zip -d /var/www/midctrl.com
chown -R root:nginx /var/www/midctrl.com
find /var/www/midctrl.com -type d -exec chmod 755 {} \;
find /var/www/midctrl.com -type f -exec chmod 644 {} \;
```
如果 SELinux 已启用,再执行:
```bash
restorecon -Rv /var/www/midctrl.com
```
## Nginx
`nginx/midctrl.com.example.conf` 是公开、脱敏的参考模板。不要直接覆盖生产配置。部署时需要:
1. 将现有站点 `root` 指向 `/var/www/midctrl.com`。
2. 合并安全响应头、缓存和 gzip 规则。
3. 保留服务器现有的所有私有 location 和代理请求头。
4. 保留有效的 Cloudflare Origin Certificate 路径。
5. 确认字体使用 `font/woff2` 或兼容的 MIME 类型。
生效前必须执行:
```bash
nginx -t
systemctl reload nginx
```
只有 `nginx -t` 成功后才能 reload。
## 部署后检查
- 首页和 404 页面正常。
- Blog 与 Tools 在新标签页打开。
- Noto Serif SC 字体返回 200。
- 控制台无 JavaScript、WebGL 或资源错误。
- Sakura 在前台页面持续运动,页面进入后台后暂停并能恢复。
- 服务器原有私有服务仍正常。
- 仓库 README、测试和 Nginx 示例没有出现在网站根目录。
## 回滚
部署前备份当前网站目录和 Nginx 配置。发生问题时恢复备份,运行 `nginx -t`,成功后 reload。不要把生产备份提交到 Git。