배포단계 문제

2star_·2025년 1월 24일
0

최종 프로젝트

목록 보기
27/32

팀원이 작성한 트러블 문서를 정리했습니다.

1. 스팀 계정 연동 시 서버 CPU 사용률 증가 트러블

문제 상황:

  • Selenium을 사용한 크롤링 과정에서 헤드리스 브라우저가 예상보다 많은 메모리를 사용했습니다.
  • 동시 접속 시 CPU 사용률이 100%까지 치솟아 서버가 불안정했습니다.

해결 방법:

  1. RAM 스왑 설정:
    - 하드디스크의 일부를 RAM처럼 사용하도록 스왑 파일을 생성 및 활성화했습니다.
    - 2GB 크기의 스왑 파일로 메모리 부족 문제를 완화했습니다.
    # 스왑 파일 생성
    sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
    
    # 스왑 파일 권한 설정
    sudo chmod 600 /swapfile
    
    # 스왑 영역 설정
    sudo mkswap /swapfile
    
    # 스왑 활성화
    sudo swapon /swapfile

2. 로컬에서 프로덕션 서버로 데이터베이스 마이그레이션 실패

문제 상황:

  • Django 기본 마이그레이션 도구로 데이터 이전 중 PostgreSQL 버전 차이와 외래 키 제약 조건 문제가 발생했습니다.
  • 복잡한 데이터 구조로 인해 마이그레이션 도중 데이터 손실이 발생했습니다.

해결 방법:

  • DBeaver 도구 활용:
  • 로컬 DB 데이터를 CSV 파일로 추출 후, 프로덕션 서버에 직접 임포트했습니다.
  • 복잡한 외래 키 구조를 임시로 비활성화 후, 데이터 로드 완료 시 다시 활성화를 했습니다.

3. 환경 변수 관리 및 CORS 문제

문제 상황:

  • .env 환경 변수 관리가 배포 환경에서 꼬이는 문제가 발생했습니다.
  • API 통신 중 CORS 에러가 빈번하게 발생하며, 프론트엔드와의 연결이 실패했습니다.

해결 방법:

  1. Django CORS 설정:
  • CORS_ALLOWED_ORIGINS에 개발 및 배포 환경의 도메인 추가:
    CORS_ALLOWED_ORIGINS = [
	  "http://ai-watson.com",
	  "http://52.78.197.80:8000",  # AWS IP 추가
    "http://127.0.0.1:5173",  # localhost에서 발생하는 요청도 허용"
    ]
  1. 환경 변수 관리 개선
profile
안녕하세요.

0개의 댓글

관련 채용 정보