Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

88 lines
3.4 KiB
Markdown
Raw Permalink 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.

# 【P0】guanghuclip.cn 服务守护配置 · systemd持久化 · 关终端不掉线
任务ID: CAB-20260424-001
优先级: P0
创建时间: 2026年4月24日 16:57
开发步骤: ["1. SSH登录 ZY-SVR-005 (43.156.237.110)","2. 确认当前前端服务启动方式python3 http.server / nginx直接托管 / node","3. 如果是python3 http.server创建 /etc/systemd/system/guanghuclip.service","4. 如果Nginx可以直接托管静态文件改nginx配置把root指向/opt/guanghuclip/去掉proxy_pass不需要后端进程","5. systemctl daemon-reload && systemctl enable guanghuclip && systemctl start guanghuclip","6. 验证curl http://localhost:3910 确认200","7. 验证关掉终端后再curl确认仍然200","8. nginx -t && systemctl reload nginx","9. 浏览器访问 http://guanghuclip.cn 确认正常显示"]
架构决策: 502原因前端服务绑定在终端会话终端关闭进程死亡Nginx反向代理失去后端。
解决思路:
方案A最优纯静态文件直接Nginx托管root指向/opt/guanghuclip/,不需要任何后端进程
方案Bsystemd守护进程开机自启+自动重启
映川自行判断当前是哪种情况,选最合适的方案。
状态: 待开发
约束: 1. 不动前端代码,只做部署层配置
2. /opt/guanghuclip/ 目录结构不变
3. Nginx配置文件: /etc/nginx/sites-available/http://guanghuclip.cn
4. SSL证书路径不变: /etc/letsencrypt/live/http://guanghuclip.cn/
5. 端口3910不变
6. 优先方案如果index.html是纯静态文件直接让Nginx托管root指向目录不需要python/node后端进程最简单最稳
## 问题
妈妈在终端里手动启动前端服务后,关闭终端,[guanghuclip.cn](http://guanghuclip.cn) 立即显示 **502 Bad Gateway**
原因:服务进程绑定在终端会话上,终端关闭 → 进程死亡 → Nginx proxy_pass 找不到后端 → 502。
## 目标
**关掉终端、断开SSH、服务器重启[guanghuclip.cn](http://guanghuclip.cn) 都能正常显示。**
## 方案选择(映川自行判断)
### 方案ANginx直接托管静态文件最优·最简
如果 `/opt/guanghuclip/index.html` 是纯静态HTML+CSS+JS不需要任何后端进程
```
server {
listen 443 ssl;
server_name guanghuclip.cn;
ssl_certificate /etc/letsencrypt/live/guanghuclip.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/guanghuclip.cn/privkey.pem;
root /opt/guanghuclip;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
```
这样完全不需要 python/node 后端进程Nginx 自己就能把页面端出来。
### 方案Bsystemd守护进程如果需要后端
如果确实需要一个后端进程比如有API路由
```
# /etc/systemd/system/guanghuclip.service
[Unit]
Description=GuanghuClip Frontend Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/guanghuclip
ExecStart=/usr/bin/python3 -m http.server 3910
Restart=always
RestartSec=3
User=root
[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl daemon-reload
sudo systemctl enable guanghuclip
sudo systemctl start guanghuclip
```
## 验证清单
- [ ] `curl -I https://guanghuclip.cn` 返回 200
- [ ] 关闭终端后再 curl仍然 200
- [ ] `sudo reboot` 后自动恢复,仍然 200
- [ ] 浏览器访问 [guanghuclip.cn](http://guanghuclip.cn) 页面正常显示(星空+视频工作台UI