AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

클라우드에 웹앱 배포 방법: Nginx 사용 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 초보 개발자 및 클라우드 배포 경험자: Docker 및 Nginx 설정에 대한 실무 지식 필요
  • 난이도: 중급 (Dockerfile 작성, Nginx 구성, 포트 매핑 등 기초 지식 요구)

핵심 요약

  • Dockerfile 작성: FROM node:18, COPY package*.json ./로 의존성 캐싱 최적화
  • Nginx 역대리 설정: proxy_pass http://localhost:3000을 통해 포트 80으로 HTTP 요청 전달
  • Docker 이미지 관리: docker build -t my-app .로 이미지 생성 후 Docker Hub에 업로드

섹션별 세부 요약

1. Dockerfile 작성

  • FROM node:18 기반의 Node.js Dockerfile 구조 제공
  • COPY package*.json ./npm install 실행 → 의존성 캐싱으로 빌드 속도 향상
  • EXPOSE 3000CMD ["npm", "start"]으로 앱 실행 포트 및 명령어 정의

2. Docker 이미지 빌드 및 실행

  • 로컬에서 docker build -t my-app . 명령어로 이미지 생성
  • docker run -p 3000:3000 my-app로 컨테이너 실행 → 서버에서 앱 접근 가능
  • Docker Hub에 이미지 업로드 후 서버에서 docker pull로 다운로드

3. Nginx 역대리 설정

  • Nginx 설치: sudo apt install nginxsystemctl로 서비스 활성화
  • sudo nano /etc/nginx/sites-available/default에서 proxy_pass 설정으로 앱 서버와 연결
  • sudo nginx -t로 구성 파일 검증 후 sudo systemctl reload nginx로 설정 적용

결론

  • 핵심 팁: Dockerfile의 의존성 캐싱, Nginx의 proxy_pass 설정, HTTP 포트(80) 매핑을 통해 클라우드 배포 성공
  • 추천: SSL 인증서 적용 및 로드 밸런싱 구성으로 확장성 강화 필요