반응형
개발을 공부하면서 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 를 이용했던 기억이 나고 배포를 깃으로 했던 것 같은데 개발이란 분야가 매일매일 공부하는 것도 중요하지만 어딘가에 잘 메모를 해두는 것도 중요한 것 같습니다.
반응형
'컴퓨터과학' 카테고리의 다른 글
고급 정렬 알고리즘 Tim Sort와 Intro Sort (1) | 2025.01.17 |
---|---|
관계형 데이터베이스와 NoSQL의 차이 무엇이 다른지? (0) | 2025.01.08 |
[RESTful API란 무엇인가?] (0) | 2025.01.07 |
[HTML, CSS, JavaScript의 역할] 웹 개발의 기본 요소 (0) | 2025.01.07 |
[백트래킹 알고리즘] 효율적인 문제 해결의 핵심 (0) | 2025.01.07 |