chenben.ai 部署指南 个人域名 https://ai.chenben.ai/ · 香港机直部署 · 维护者 ben22

ai.njwl.ai/deploy 是同一套思路:香港机 43.129.74.108 直部署 + 子域名 + HTTPS + Nginx。本页记录 chenben.ai 这个域名下已有哪些站点、以后怎么加新站点。

一页速览

  • 域名chenben.ai(个人域名,DNS 托管在腾讯云 DNSPod)
  • 服务器:香港机 43.129.74.108(any-g.cn,免备案),域名 + HTTPS + 反代 + 容器都在这一台
  • 访问链路:浏览器 → https://子域名.chenben.ai → 香港机 Nginx(443) → 127.0.0.1:端口 → 容器/隧道
  • 加新站点三步:① DNS 加 A 记录 → ② 起容器(或隧道)→ ③ 配 Nginx + HTTPS

现有子域名清单

子域名用途后端状态
diary.chenben.ai思源笔记(SiYuan)127.0.0.1:6806HTTPS
siyuan.chenben.ai思源(HTTP 临时)127.0.0.1:6806HTTP
affine.chenben.aiAFFiNE 白板127.0.0.1:3010
dsh.chenben.aiDSH 远程接入(飞书登录)127.0.0.1:18840(SSH 隧道)HTTPS
这些站点的 Nginx 配置都在香港机 /www/server/panel/vhost/nginx/(宝塔);证书用 certbot 签在 /etc/letsencrypt/live/<域名>/

部署思路(和 njwl.ai 同款)

新项目一律香港机直部署:域名 + HTTPS + 反代 + 容器都在 43.129.74.108 上,不经过大陆机。专用子域名建议用根路径(不用子路径),因为应用多走绝对路径,子路径容易 404。

  • 静态站(文档/说明页)→ 直接放 /var/www/<域名>/,Nginx root + index
  • 带后端的应用 → Docker 容器只监听 127.0.0.1:端口,Nginx 反代
  • 本机服务(如 DSH)→ SSH 反连隧道到香港机端口,Nginx 反代 + 登录门

新增一个子域名(步骤)

第 1 步:DNS 解析

腾讯云 DNSPod 给 chenben.ai 加 A 记录:新子域名43.129.74.108

Resolve-DnsName 新子域名.chenben.ai -Type A   # 应返回 43.129.74.108

第 2 步:起后端

# 容器(Docker)
ssh ubuntu@any-g.cn 'cd ~/项目名 && docker compose up -d --build'
# 或本机服务(SSH 反连隧道,把本机 3080 映射到香港机 18840)
ssh -N -R 127.0.0.1:18840:127.0.0.1:3080 ubuntu@43.129.74.108

第 3 步:Nginx + HTTPS

scp 域名.conf ubuntu@any-g.cn:/tmp/
ssh ubuntu@any-g.cn 'sudo cp /tmp/域名.conf /www/server/panel/vhost/nginx/ && \
  sudo /www/server/nginx/sbin/nginx -t && sudo /www/server/nginx/sbin/nginx -s reload'
ssh ubuntu@any-g.cn 'sudo certbot certonly --webroot -w /var/www/certbot -d 域名.chenben.ai --non-interactive --agree-tos'

Nginx 配置模板(子域名 + HTTPS)

# 域名.chenben.ai.conf
server {
    listen 80;
    server_name 域名.chenben.ai;
    location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; default_type "text/plain"; }
    location / { return 301 https://$host$request_uri; }
}
server {
    listen 443 ssl;
    http2 on;
    server_name 域名.chenben.ai;
    ssl_certificate /etc/letsencrypt/live/域名.chenben.ai/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/域名.chenben.ai/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    location / {
        proxy_pass http://127.0.0.1:端口;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_read_timeout 60s;
    }
    access_log /www/wwwlogs/域名.chenben.ai.log;
    error_log /www/wwwlogs/域名.chenben.ai.error.log;
}
静态站用 root + index(不要用 try_files $uri $uri/ =404,目录请求会 404);反代时 proxy_pass 不带尾斜杠,路径原样透传。

共享资源(不用重复造)

设计语言、通用模组、飞书部署这些是域名无关的,chenben.ai 和 njwl.ai 共用;本页只负责记录 chenben.ai 自己的站点清单和加站流程。