[HTML] GitHub와 Netlify를 이용한 쉽고 빠른 HTTPS 무료 호스팅

GitHub와 Netlify를 이용한 쉽고 빠른 HTTPS 무료 호스팅

많은 사람들이 대표적인 PaaS로 Heroku를 꼽습니다.
Node.js를 사용하는 저로서는 GitHub 나 Dropbox 를 기반으로 쉽고 빠르게 호스팅할 수 있는 아주 좋은 서비스죠.
하지만 Heroku는 일반적으로 백엔드 호스팅을 위해 사용하는데, 단순한 정적(Static) 웹사이트를 호스팅하기에는 약간 군더더기가 있다고 느끼고 있었죠.
그 와중에 Netlify를 알게되어 사용하게 되었습니다.
Heroku 보다 더욱 쉽고 빠르게 정적 웹사이트를 호스팅할 수 있습니다.

Netlify 란?

Netlity는 GitHub, GitLab 등과 계정 연동 및 쉬운 호스팅을 제공하며,
CDN, Continuous Deployment(지속적 배포), One-Click HTTPS 제공 등 고성능 사이트 / 웹 응용 프로그램을 제작하는데 필요한 쉽고 빠른 다양한 서비스들을 제공합니다.

Netlify 사용법

간단하지만 헷갈릴 수 있는 부분들을 하나씩 진행하면서 살펴보겠습니다.

GitHub에 프로젝트 푸쉬

정적(Static) 웹사이트를 완성했다면 GitHub에 Push합니다.
보통 public/이나 dist/ 정도가 정적 디렉토리(Public directory)가 됩니다.
혹시 다른 이름으로 되어 있다면 Netlify에서 설정할 수 있습니다.

혹시 Netlify에서 반복되는 Deploy Failed 메세지로 스트레스를 받고 싶지 않다면, Public directory 안에는 index.html을 두는 것을 권장합니다.
혹시 EJS나 PUG 같은 템플릿엔진을 사용한다면 컴파일(빌드) 후 푸쉬하시고, 마찬가지로 SASS나 Stylus 같은 CSS preprocessor를 사용할 때도 컴파일 후 사용하세요.

Netlify에서 새로운 사이트 생성

Netlify로 이동하여 Sign-up(회원가입) 합니다.
원하는 방식으로 회원 가입 후 접속합니다.

Netlify Login

접속 후 바로 ‘New site from git’를 선택할 수 있습니다.
그러면 Git 솔루션를 선택할 수 있습니다.

Netlify Create a new site

다음과 같은 Git 솔루션을 지원합니다.

액세스 제한

업체를 선택하기 전에 Limit GitHub access to public repositories.를 체크할 수 있습니다.

Netlify Limit GitHub Access

민감한 저장소에 대한 액세스 권한을 부여하는 것에 대해 걱정이된다면 GitHub를 사용하여 응용 프로그램 액세스를 제한 할 수 있습니다.
자세한 내용은 Netlify - GitHub Permissions에서 확인할 수 있습니다.
원할 경우 체크합니다.

전 단계에서 프로젝트를 GitHub에 푸쉬했으니 업체 중 ‘GitHub’를 선택하여 진행합니다.

승인 요청

‘Limit GitHub access to public repositories. What’s this?’를 체크하고 넘어왔다면 다음과 같은 승인 화면을 볼 수 있습니다.
‘Authorize netlify’를 선택하여 승인합니다.

Netlify Authorize

권한 설정을 위해 GitHub 비밀번호를 입력합니다.

Netlify Authorize Confirm Password

저장소 선택

나의 GitHub 저장소(repository) 목록이 나타납니다.
여기서 상위 단계에서 푸쉬했던 저장소를 찾아 선택합니다.

Netlify Select repository

기본 빌드 설정

Netlify Deploy Setting

빌드 커맨드(Build Command)가 있다면 설정합니다.
예를들면 npm startnpm run prodgrunt 등의 빌드용 명령을 작성할 수 있습니다.
필요하지 않다면 값을 적지 않아도 됩니다.

다음으로 정적 디렉토리(Public Directory)를 설정합니다.
보통 public/이나 dist/ 정도가 정적 디렉토리(Public directory)가 됩니다.
설정하지 않는다면 루트(root, /)에서 검색합니다.

마지막으로 Deploy site 버튼을 눌러 새로운 사이트를 배포합니다.
약간의 로딩이 끝나고 잘 배포되었다면 Your site is deployed 메시지를 볼 수 있습니다.

Netlify Deploying Your Site
Netlify Deploy Log

만약 Deploy Failed 메시지가 뜬다면 ‘Deploy Log’를 잘 확인하시고 프로젝트 구조를 Netlify에 맞게 변경하시길 권장합니다.
이제 1단계의 설정이 끝났습니다.

사이트 이름(도메인) 설정

우리의 사이트 배포는 끝났고 당장 사용할 수 있습니다.
하지만 당장은 Netlify에서 제공하는 다음과 같은 (예쁘지 않은) 도메인을 사용해야 합니다.

https://happy-noether-c27ffa.netlify.com/

2단계로 커스텀(Custom) 도메인을 사용할 수 있습니다만 그 전에 Netlify에서 제공하는 도메인을 (조금 더 예쁘게) 수정해서 사용할 수 있습니다.

Site setting 버튼을 선택합니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

Netlify Site Setting Button

‘Site information > Site name:’ 을 클릭하여 이름을 수정할 수 있습니다.

Netlify Site Naming

좀 더 나은 고유 이름 을 선택할 수 있습니다.
당장 나의 사용자 정의 도메인이 없을 경우 유용합니다.

사용자 정의 도메인(Custom Domain) 설정

이제 별도의 사용자 정의 도메인을 설정하겠습니다.
2단계에서 ‘Set up a custom domain’을 선택합니다.

Netlify Set up a custom domain

‘Add custom domain’ 버튼을 눌러 보유하고 있는 나의 도메인을 추가합니다.

Netlify Add custom domain
Netlify Add custom domain naming

DNS 설정

다음과 같이 도메인이 등록되었고 Netlify DNS를 설정(‘Set up Netlify DNS’)해야 합니다.

Netlify Set up Netlify DNS

사용자 정의 도메인에 대한 DNS 레코드가 포함될 DNS 영역을 만들어야 합니다. 그러면 사이트의 필수 DNS 레코드가 자동으로 생성됩니다.

Netlify Create DNS Zone
Netlify Add DNS Records
Netlify Hostnames

네임서버 변경

마지막 단계로, 도메인 제공 업체(GoDaddyCafe24Gabia 등..)의 계정에 로그인하고 제공되는 호스트 이름으로 네임 서버를 변경합니다.
참고로 저는 GoDaddy에서 도메인을 구입했습니다.

Netlify Update Nameserver Enter

도메인의 네임서버를 변경 후 잠시(5~10분) 기다리면 완료됩니다.
이제 사용자 정의 도메인을 사용할 수 있습니다.

무료 TLS 인증서로 HTTPS 보안 및 암호화를 추가

3단계로 HTTPS 보안 및 암호화를 추가하겠습니다.
Netlify의 최대 장점은 무료 SSL 자동 발급 이라 할 수 있습니다.
정말 간단한 절차로 HTTPS를 사용할 수 있습니다.

DNS 구성 확인

3단계의 ‘Secure your site with HTTPS’ 버튼을 선택합니다.
페이지 중간에 ‘HTTPS’ 영역에서 ‘Verify DNS configuration’ 버튼을 선택합니다.

Netlify Verify DNS configuration

DNS 변경 사항이 전파될 때까지 1시간 정도 기다립니다.

Let’s Encrypt 인증서 프로비저닝

1시간 정도 기다린 후 HTTPS를 사용할 준비가 되면 ‘Let’s Encrypt certificate’ 버튼이 생성됩니다.
버튼을 누르면, Let ‘s Encrypt에서 TLS 인증서를 제공하고 CDN에 설치합니다.

Netlify Let's Encrypt certificate
Netlify Automatic TLS setup
Netlify Provisioning

역시 몇 분 기다리면 무료 인증서의 프로비저닝이 완료됩니다.
만약 사용에 대한 대가를 지불하고 싶다면 Donate to Let’s Encrypt를 통해 기부할 수 있습니다.
Let’s Encrypt에 대해 좀 더 알고 싶다면 > Lets’ Encrypt로 무료로 HTTPS 지원하기를 참고하세요.

Netlify HTTPS enabled

이제 HTTPS를 사용할 수 있습니다.

Netlify HTTPS enabled href

프로젝트 업데이트

프로젝트를 수정하여 GitHub에 푸쉬하면 Netlify에서 자동으로 빌드하여 배포합니다.
푸쉬 후 자동 배포까지 대략 1~5분이 소요됩니다.

지금까지 Netlify를 이용하여 쉽고 빠르게 GitHub를 기반으로 하는 HTTPS 웹사이트를 호스팅하였습니다.
무료 비공개 저장소를 원한다면 GitLab도 좋은 선택이 될 것입니다.

 

[출처] https://heropy.blog/2018/01/10/netlify/

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
61 [web design][웹디자인][알아봅시다] 왕초보 피그마 기초 사용법???? 셀러님들 지금 당장 피그마 시작하세요! 그대로 따라만 해서 피그마 정복하기 졸리운_곰 2025.07.21 246
60 CSS selector 졸리운_곰 2024.08.02 689
59 [Web Design][웹 디자인] Sass(SCSS) 완전 정복! 졸리운_곰 2022.07.31 412
58 [HTML] HTML5 공간 분할 : 레이아웃(Layout) file 졸리운_곰 2021.09.06 552
57 [HTML5] HTML 공간 분할 file 졸리운_곰 2021.09.06 528
56 [웹제작][웹디자인] 시각화 대시보드 를 만들기 위해 고려해야 하는 4가지 file 졸리운_곰 2021.09.05 588
55 웹사이트 디자인하는 방법 file 졸리운_곰 2020.12.30 406
54 카드형 디자인/갤러리/리스트 코딩하기. file 졸리운_곰 2020.12.04 677
53 HTML DIV tag - 테두리 그리기 STYLE - BORDER 졸리운_곰 2020.08.26 241
52 CSS :: 버튼(Button) 예쁘게 꾸미기, 여러개의 버튼 그룹화 하기 file 졸리운_곰 2020.08.26 994
51 [button] CSS - Button - 버튼스타일 (버튼크기, 버튼색깔, 버튼비활성화, 버튼그룹, 이미지위버튼) 졸리운_곰 2020.08.26 2293
50 GUI 디자이너를 위한 색상 참고 사이트 file 졸리운_곰 2020.08.04 610
49 생산성을 빠르게 높여주는, 프런트엔드 개발 툴 10가지 file 졸리운_곰 2020.04.10 488
48 Mustache 공유 file 졸리운_곰 2019.12.29 344
47 Mustache 템플릿 문법 수많은 언어에서 지원되는 초간단 템플릿 문법 졸리운_곰 2019.12.29 273
46 HTML/CSS기초_drop down 메뉴 만들기 file 졸리운_곰 2019.12.21 1243
45 반응형이란 무엇인가? 졸리운_곰 2019.11.20 449
44 <인터넷, 블로그팁: 마진(margin)과 패딩(padding)의 차이점이 뭘까?> file 졸리운_곰 2019.11.01 504
43 CSS / 반응형 레이아웃 만들기 file 졸리운_곰 2019.02.08 572
42 Responsive Web ② - 반응형 웹을 위한 레이아웃 설계 방법 file 졸리운_곰 2019.02.08 634
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED