← 전체 글로 돌아가기

웹 개발

배포 후 서비스가 뜨지 않을 때 확인 순서

웹 배포 후 예상치 못한 문제를 빠르게 진단하고 해결하는 방법을 정리했습니다.

배포 후 서비스가 안 뜨면 문제를 크게 잡으면 안 된다. 모든 파일이 의심스러워져서 손댈 곳이 너무 많아진다. 좁혀진 범위 안에서 하나씩 확인해야 한다.

배포 로그 확인

가장 먼저 배포 과정의 로그를 본다.

# Dokploy나 Docker Compose 로그
docker-compose logs -f service-name
# 또는
docker logs -f container-name

빌드 에러, 환경변수 누락, 포트 바인드 실패 같은 구체적인 메시지가 있으면 그 부분부터 수정하면 된다.

설정 파일 검증

배포 전에 설정 파일이 실제로 서비스에 전달되었는지 확인한다.

docker exec service-name cat /app/.env
docker inspect service-name | grep Env

필요한 환경변수가 모두 설정되었는지, 값이 올바른지 확인한다. 특히 데이터베이스 연결 문자열이나 API 키는 배포 환경에 맞게 업데이트되어야 한다.

네트워크와 포트

curl http://localhost:3000
docker port service-name

서비스가 예상된 포트에 리스닝하고 있는지, 호스트 포트 매핑이 올바른지 확인한다. 만약 localhost에서만 리스닝한다면 외부 요청이 들어올 수 없다.

점진적 수정과 테스트

npm run build  # 로컬에서 먼저 빌드

한 가지만 수정하고 재배포한다. 예를 들어 환경변수 하나를 고친 후 서비스가 뜨는지 확인한다. 모두 함께 고치면 어느 것 때문에 문제가 해결되었는지 알 수 없다.

최종 확인

  1. 배포 로그에 에러가 있는가
  2. 컨테이너가 실제로 실행 중인가 (docker ps)
  3. 환경변수가 모두 설정되었는가
  4. 네트워크 요청이 통하는가 (curl)
  5. 실제 공개 URL에서 접근 가능한가

각 단계를 검증한 후에 다음 단계로 진행하면 배포 후 문제를 빠르게 해결할 수 있다.