44 行
1.3 KiB
Markdown
44 行
1.3 KiB
Markdown
|
|
# 文档站部署
|
||
|
|
|
||
|
|
这套配置用于将 MkDocs 文档站部署到 `106.54.23.149`,并通过 `docs.xuqinmin.com` 访问。
|
||
|
|
|
||
|
|
## 目录约定
|
||
|
|
|
||
|
|
| 位置 | 用途 |
|
||
|
|
|------|------|
|
||
|
|
| `/var/www/docs.xuqinmin.com/site` | 文档站静态文件 |
|
||
|
|
| `/var/www/docs.xuqinmin.com/webroot` | ACME 校验目录 |
|
||
|
|
| `/etc/nginx/sites-available/docs.xuqinmin.com.conf` | Nginx 站点配置 |
|
||
|
|
|
||
|
|
## 首次部署
|
||
|
|
|
||
|
|
1. 在服务器安装 `nginx`、`rsync`、`acme.sh`。
|
||
|
|
2. 将仓库中的 `nginx-docs.conf` 放到 `/etc/nginx/sites-available/docs.xuqinmin.com.conf`。
|
||
|
|
3. 创建目录:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo mkdir -p /var/www/docs.xuqinmin.com/site /var/www/docs.xuqinmin.com/webroot
|
||
|
|
```
|
||
|
|
|
||
|
|
4. 启用 Nginx 站点并检查配置。
|
||
|
|
5. 使用 `acme.sh` 的 webroot 模式为 `docs.xuqinmin.com` 申请证书,并安装到 `/opt/xuqm/acme/docs.xuqinmin.com_ecc/`。
|
||
|
|
6. 将 `certbot-renew-hook.sh` 作为重载 Nginx 的通用 hook 使用,或者在 `acme.sh` 的 `--reloadcmd` 中直接调用 `systemctl reload nginx`。
|
||
|
|
|
||
|
|
## 自动更新
|
||
|
|
|
||
|
|
推荐在 `106.54.23.149` 上安装一个自动同步任务,执行入口建议使用仓库中的 `scripts/sync-docs-site.sh`。
|
||
|
|
|
||
|
|
该任务检测到 `main` 分支更新后会:
|
||
|
|
|
||
|
|
1. 检出仓库。
|
||
|
|
2. 安装 `mkdocs-material`。
|
||
|
|
3. 构建站点。
|
||
|
|
4. 同步到 `/var/www/docs.xuqinmin.com/site`。
|
||
|
|
|
||
|
|
## 本地预览
|
||
|
|
|
||
|
|
```bash
|
||
|
|
make docs-build
|
||
|
|
make docs-serve
|
||
|
|
```
|