[MEMO] 실사용 모드

2026. 2. 8. 16:30·3. 자습 & 메모(실전, 실습, 프로젝트)/3-2 메모(실전, 프로젝트)

1. 환경 설정 (.env) 최적화

실서비스 모드로 전환할 때 가장 먼저 할 일은 주소 설정입니다. localhost는 "내 컴퓨터"에서만 작동하므로, 외부 기기가 접속할 수 있도록 실제 IP 주소로 고정해야 합니다.

  • 백엔드/AI 서버 (.env): CORS_ORIGINS를 *로 열어주거나, 접속할 기기의 IP를 명시합니다.
  • 프론트엔드 (.env.local): NEXT_PUBLIC_API_BASE_URL 등을 노트북의 실제 IP로 설정합니다.

2. 백엔드 & AI 서버 (FastAPI/Uvicorn)

파이썬 기반 서버인 FastAPI를 실환경에서 돌릴 때는 --reload 옵션을 반드시 제거해야 합니다.

2-1 실행 명령어

uvicorn meat_backend.main:app --host 0.0.0.0 --port 8000

2-2 핵심 포인트

  • --host 0.0.0.0: 이 설정이 핵심입니다. 특정 IP가 아니라 "모든 네트워크 인터페이스"를 통해 들어오는 접속을 허용하겠다는 의미입니다. 이 설정을 안 하면 외부(휴대폰)에서 접속할 수 없습니다.
  • --reload 제거: 개발 모드에서는 코드를 수정하면 서버가 자동으로 꺼졌다가 켜지지만, 실서비스에서는 성능 저하와 예기치 않은 서버 중단을 막기 위해 이 기능을 끕니다.

3. 프론트엔드 (Next.js)

Next.js는 개발 모드(dev)와 실사용 모드(start)의 구동 방식이 완전히 다릅니다.

3-1 실행 단계

  1. 빌드(Build): 작성한 코드를 최적화된 파일로 변환하는 과정입니다.
    npm run build
    
  2. 서버 시작(Start): 빌드된 파일을 바탕으로 실제 서비스를 가동합니다.
    npx next start -H 0.0.0.0 -p 3000
    

3-2 핵심 포인트

  • Build 과정: 개발 모드에서는 브라우저가 요청할 때마다 코드를 컴파일하지만, 실사용 모드는 미리 컴파일된 정적 파일을 서빙하므로 속도가 훨씬 빠르고 안정적입니다.
  • -H 0.0.0.0: 백엔드와 마찬가지로 외부 기기 접속을 허용하기 위한 호스트 설정입니다.

4. 네트워크 및 보안 (배포 전 필수 체크)

컴퓨터 내부가 아닌 '네트워크'를 통해 접속할 때 발생하는 문제들을 해결해야 합니다.

  • 방화벽(Firewall) 해제: 윈도우나 맥의 방화벽이 특정 포트(3000, 8000, 8001)를 막고 있으면 외부 접속이 불가능합니다. 발표 중에는 방화벽을 잠시 끄는 것이 가장 확실합니다.
  • 동일 네트워크(L2 통신): 노트북과 휴대폰이 반드시 같은 와이파이에 연결되어 있어야 합니다. 유선 랜과 와이파이는 IP 대역이 다를 수 있으므로 ipconfig로 주소를 대조해봐야 합니다.
  • 캐시 관리: 실사용 모드로 서버를 다시 띄웠다면, 브라우저가 이전의 잘못된 설정(localhost 등)을 기억하고 있을 수 있습니다. 시크릿 모드로 접속하거나 브라우저 캐시를 삭제 후 테스트하세요.

요약 테이블

구분 개발 모드 (Development) 실사용 모드 (Production)
목적 빠른 수정 및 디버깅 성능 최적화 및 안정적 서비스
호스트 localhost 또는 127.0.0.1 0.0.0.0 (외부 접속 허용)
명령어 (FE) npm run dev npm run build 후 npm run start
명령어 (BE) uvicorn ... --reload uvicorn ... (reload 옵션 제거)
특징 에러 로그 상세 출력 코드 노출 최소화 및 속도 향상

 

'3. 자습 & 메모(실전, 실습, 프로젝트) > 3-2 메모(실전, 프로젝트)' 카테고리의 다른 글

[개인 공부] 강화 학습에 대한 스터디 노트  (0) 2026.03.02
[Memo] PaddleOCR v5 REC 파이프라인 재구축 회고  (0) 2026.01.04
[PaddleOCR] 학습용 REC 데이터셋 생성 스크립트(업데이트 버전)  (0) 2026.01.04
[PaddleOCR] 학습용 REC 데이터셋 생성 스크립트  (0) 2026.01.02
[MEMO] PaddleOCR 코드 문법 인식 모델 학습  (0) 2026.01.01
'3. 자습 & 메모(실전, 실습, 프로젝트)/3-2 메모(실전, 프로젝트)' 카테고리의 다른 글
  • [개인 공부] 강화 학습에 대한 스터디 노트
  • [Memo] PaddleOCR v5 REC 파이프라인 재구축 회고
  • [PaddleOCR] 학습용 REC 데이터셋 생성 스크립트(업데이트 버전)
  • [PaddleOCR] 학습용 REC 데이터셋 생성 스크립트
고니3000원
고니3000원
공부 내용 정리, 자기발전 블로그 입니다. 기존 네이버 블로그에서 티스토리로 이전했습니다. https://blog.naver.com/pak1010pak
  • 고니3000원
    곤이의 공부 블로그
    고니3000원
  • 전체
    오늘
    어제
    • 분류 전체보기 (178) N
      • 1. AI 논문 + 모델 분석 (20)
        • AI 논문 분석 (13)
        • AI 모델 분석 (7)
      • 2. 자료구조와 알고리즘 (16)
        • 2-1 자료구조와 알고리즘 (13)
        • 2-2 강화학습 알고리즘 (3)
      • 3. 자습 & 메모(실전, 실습, 프로젝트) (25)
        • 3-1 문제 해석 (4)
        • 3-2 메모(실전, 프로젝트) (14)
        • 3-3 배포 실전 공부 (7)
      • 4. [팀] 프로젝트 및 공모전 (14)
        • 4-1 팀 프로젝트(메모, 공부) (1)
        • 4-2 Meat-A-Eye (6)
        • 4-3 RL-Tycoon-Agent (3)
        • 4-4 구조물 안정성 물리 추론 AI 경진대회(D.. (4)
      • 5. [개인] 프로젝트 및 공모전 (0)
        • 4-1 귀멸의칼날디펜스(자바스크립트 활용) (5)
        • 4-2 바탕화면 AI 펫 프로그램 (4)
        • 4-3 개인 프로젝트(기타) (3)
      • 개념 정리 step1 (32)
        • Python 기초 (7)
        • DBMS (1)
        • HTML | CSS (3)
        • Git | GitHub (1)
        • JavaScript (5)
        • Node.js (5)
        • React (1)
        • 데이터 분석 (6)
        • Python Engineering (3)
      • 개념 정리 step2 (57) N
        • Machine | Deep Learning (15)
        • 멀티모달(Multi-modal) (23)
        • 강화 학습 (10)
        • AI Agent (9) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 곤이의 블로그(Naver->Tistory)
    • Github
  • 공지사항

  • 인기 글

  • 태그

    구현
    강화학습
    Attention Is All You Need
    Grad-CAM
    자료구조
    OCR
    파인튜닝
    transformer
    파이썬
    bottleneck
    paddleocr
    Ai
    html
    Vision
    알고리즘
    EfficientNet
    ViT
    Python
    데이터분석
    공모전
    강화 학습
    자바스크립트
    학습
    논문 리뷰
    pandas
    프로젝트
    귀칼
    github
    javascript
    OCR학습
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고니3000원
[MEMO] 실사용 모드
상단으로

티스토리툴바