Files
life-echo/docs/nginx-config-guide.md
iammm0 3f9118c9cd docs: 新增网络和Nginx配置文档
- 新增network-config-guide.md网络配置指南
- 新增nginx-config-guide.md Nginx配置指南
- 新增nginx-fix-guide.md Nginx修复指南
- 新增nginx.conf示例配置
2026-01-28 13:01:06 +08:00

2.3 KiB
Raw Blame History

Nginx 配置调整指南

问题说明

根据 docker-compose.yml 配置:

  • 服务名api
  • 容器名life-echo-api-prod
  • 网络名life-echo-network
  • 端口映射8000:8000

原配置中使用的是 lifecho-api:8000,需要根据实际部署方式调整。

配置方案

方案 1Nginx 在同一个 Docker Compose 网络中(推荐)

如果 nginx 容器也在 life-echo-network 网络中,使用服务名

upstream lifecho_api_backend {
    server api:8000;
}

如何实现

  1. 在 nginx 的 docker-compose 配置中添加网络:
services:
  nginx:
    # ... 其他配置
    networks:
      - life-echo-network

networks:
  life-echo-network:
    external: true  # 使用已存在的网络

方案 2Nginx 在外部容器但连接到同一网络

如果 nginx 容器连接到 life-echo-network 网络,可以使用容器名

upstream lifecho_api_backend {
    server life-echo-api-prod:8000;
}

如何实现

# 将 nginx 容器连接到网络
docker network connect life-echo-network <nginx-container-name>

方案 3Nginx 在主机上(通过端口映射)

如果 nginx 直接运行在主机上,使用本地端口

upstream lifecho_api_backend {
    server 127.0.0.1:8000;
}

这是最简单的方案,因为 docker-compose.yml 已经将容器的 8000 端口映射到主机的 8000 端口。

推荐配置

根据最常见的部署场景,推荐使用方案 1服务名,因为:

  1. 更灵活,不依赖容器名
  2. Docker Compose 会自动处理服务发现
  3. 如果容器重启,服务名保持不变

验证配置

配置完成后,测试连接:

# 测试健康检查端点
curl https://lifecho.worldsplats.com/health

# 测试 API 端点
curl https://lifecho.worldsplats.com/api/your-endpoint

故障排查

如果连接失败,检查:

  1. 网络连接
# 检查容器是否在同一网络
docker network inspect life-echo-network

# 检查容器 IP
docker inspect life-echo-api-prod | grep IPAddress
  1. 端口映射
# 检查端口是否映射
docker ps | grep life-echo-api-prod
  1. Nginx 日志
# 查看错误日志
tail -f /var/log/nginx/error.log