Server — 服务器配置与部署
Server
简介
配置、部署和故障排除 web 服务器、应用服务器和容器化服务。涵盖 nginx、Caddy、Apache、Docker、Docker Compose、SSL/TLS 证书、反向代理、负载均衡、进程管理等。
技能文档
### 服务器技能中文文档
#### 范围
本技能涵盖 **软件层** — 机器内部运行的内容。对于基础设施(虚拟机预配、SSH 硬化、防火墙、备份),请使用 `vps` 技能。
#### 使用场景
- 配置 nginx、Caddy 或 Apache
- 部署 Node.js、Python、Go 等应用
- Docker 和 Docker Compose 设置
- 使用 Let's Encrypt 的 SSL/TLS 证书
- 反向代理和负载均衡
- 进程管理(pm2、systemd 服务)
- 故障排除(端口冲突、CORS、连接错误)
- 自主托管(Plex、Nextcloud、游戏服务器)
- 本地开发服务器(Vite、webpack-dev-server)
#### 常见陷阱
- **端口已使用** — 使用 `lsof -i :PORT` 或 `ss -tlnp | grep PORT` 检查,杀死僵死进程
- **开发环境中的 CORS** — 通过开发服务器代理或配置后端头,不要在生产环境中禁用
- **SSL 证书问题** — Certbot 需要端口 80/443 开放,适当使用 `--standalone` 或 `--webroot` 模式
- **nginx 配置未加载** — 始终在 `systemctl reload nginx` 之前运行 `nginx -t`
- **Docker 容器无法访问主机** — 使用 `host.docker.internal`(Docker Desktop)或 `172.17.0.1`(Linux)
- **进程在 SSH 断开后死亡** — 使用 systemd、pm2 或在 tmux/screen 内运行
- **挂载卷权限错误** — 匹配容器用户 UID 与主机文件所有权
#### 用例模式
| 用例 | 推荐堆栈 |
|----------|-------------------|
| 静态网站 | Caddy(自动 SSL,零配置) |
| Node.js 应用 | PM2 + nginx 反向代理 |
| Python(Django/FastAPI) | Gunicorn + nginx |
| 多服务 | Docker Compose + Traefik |
| 游戏服务器 | 专用容器 + 端口映射 |
对于框架特定配置,请参阅 `configs.md`。对于 Docker Compose 模式,请参阅 `docker.md`。
#### 调试检查清单
1. **进程是否运行?** `systemctl status` 或 `docker ps`
2. **是否监听?** `ss -tlnp | grep PORT`
3. **可以本地访问?** `curl localhost:PORT`
4. **防火墙阻塞?** 检查 `ufw status` 或云安全组
5. **反向代理配置错误?** 检查 nginx 日志: `/var/log/nginx/error.log`
6. **DNS 指向正确?** `dig domain.com` 或 `nslookup`
安装命令
clawhub install server