본문 바로가기
컴퓨터과학

웹사이트 배포 과정 이해하기: 초보자를 위한 완벽 가이드

by 코드그래피 2025. 1. 8.
반응형

개발을 공부하면서 AWS 서버를 이용해본 적이 있었습니다. 정확하게 AWS에 어떻게 페이지가 작동하는지 잘 몰랐었고 AWS 서버를 이용하는 바람에 갑작스런 10만원 정도의 돈을 지출해야했던 경험이 있습니다

오래전 일이라 기억이 정확하지 않는데 그 때도 아마 유튜브에서 조코딩님의 어떤 영상을 보고 참고해서 따라하다 그랬던 것 같은데 이런저런 경험을 통해 내공이 쌓이기보다는 경험이 쌓인 것 같아 정리를 해보려고 합니다.


 

1. 웹사이트 배포란?

웹사이트 배포는 로컬(개발 환경)에서 작성된 코드를 서버에 업로드하여 인터넷에서 누구나 접근할 수 있도록 만드는 과정입니다. 이 과정은 단순히 파일을 올리는 것이 아니라, 다양한 단계를 거쳐 안정성과 가용성을 보장해야 합니다.

2. 웹사이트 배포 과정의 주요 단계

(1) 개발 환경 설정

  • 개발 환경에서는 코드를 작성하고, 테스트하며, 디버깅을 통해 웹사이트의 초기 모습을 만들어냅니다.
  • 일반적으로 사용되는 개발 환경:
    • HTML/CSS/JavaScript 에디터 (예: VS Code)
    • 로컬 서버 실행 도구 (예: XAMPP, WAMP)

(2) 코드 빌드

  • 작성된 소스 코드를 배포 가능한 형태로 변환하는 과정입니다.
  • 빌드 도구: Webpack, Gulp, Parcel 등.
  • : React로 만든 프로젝트는 npm run build 명령어로 정적 파일을 생성.

(3) 호스팅 서버 선택

  • 웹사이트를 인터넷에 배포하려면 호스팅 서비스가 필요합니다.
  • 주요 호스팅 서비스:
    • 공유 호스팅: 저렴하지만 성능이 제한적.
    • VPS/클라우드: 성능과 확장성이 우수 (AWS, Google Cloud, Azure).
    • 정적 사이트 호스팅: Netlify, Vercel.

(4) 도메인 연결

  • 도메인은 웹사이트의 주소(URL)로, 사용자가 쉽게 접근할 수 있도록 설정합니다.
  • 도메인 구매 및 설정:
    • 도메인 등록 사이트 (예: GoDaddy, Namecheap)
    • DNS 설정을 통해 서버 IP와 도메인 연결.

(5) 배포 도구 사용

  • 효율적인 배포를 위해 자동화 도구를 활용합니다.
  • 대표적인 배포 도구:
    • GitHub Actions (CI/CD)
    • Jenkins
    • Docker

(6) 모니터링 및 유지보수

  • 배포 후에도 웹사이트의 상태를 지속적으로 모니터링해야 합니다.
  • 사용 도구:
    • 성능 모니터링: Google Lighthouse
    • 로그 관리: Splunk, ELK Stack
    • 에러 추적: Sentry

3. 웹사이트 배포 시 주의사항

  • 보안:
    • SSL 인증서 적용 (https:// 사용).
    • 서버 보안 강화 (방화벽, DDoS 방지).
  • 최적화:
    • 이미지 크기 최적화.
    • 코드 압축 및 캐싱.
  • 테스트:
    • 다양한 브라우저와 디바이스에서 테스트.

4. 웹사이트 배포를 배우는 데 유용한 도구

  • Git: 소스 코드 버전 관리.
  • Netlify/Vercel: 무료 정적 호스팅 서비스.
  • Postman: API 테스트 도구.

6개월 국비지원 학원을 다니면서 웹 배포도 해봤지만 벌써 3년전 일이라 기억이 잘 나지 않고 아마 깃허브에 코드만 남아있을 것 같습니다.

그때 Flask 를 이용했던 기억이 나고 배포를 깃으로 했던 것 같은데 개발이란 분야가 매일매일 공부하는 것도 중요하지만 어딘가에 잘 메모를 해두는 것도 중요한 것 같습니다.

반응형