surge.sh는 AWS S3와 Github Pages와 같은 웹 퍼블리싱 서비스로, HTML, CSS, JS 등의 정적 파일을 무료로 퍼블리시하고 서브도메인과 SSL을 받을 수 있다. 무료로 커스텀 도메인을 받을 수도 있고, 트래픽에 제한을 두지 않는 것이 특징아다. 무료로 다양한 기능을 사용할 수 있고, 방법이 간단해서 인기가 많은 웹 퍼블리싱 서비스다. 백엔드 REST API Server를 따로 운영하면서 SPA에 필요한 정적 파일을 prod 용으로 제공하는 방식으로도 사용할 수 있다. surge.sh는 아직 아시아에 CDN 서버를 두지 않아서 한국에서 서비스하는 것에는 조금 어려움이 있을 것 같다.
유료 서비스인 Surge Plus로 업그레이드하면 다음과 같은 부가적인 서비스를 사용할 수 있다고 한다.
- Custom Domain SSL 설정
- HTTP로 들어오는 요청 모두 HTTPS로 redirect 시키기
- 패스워드를 사용한 프로젝트 보호
- 이 경우 client-side application 전체를 패스워드로 보호한다고 한다.
- HTTP 접근 제어 (CORS)
- Custom redirect
surge.sh를 사용해서 프로젝트 deploy하기
surge.sh 공식 홈페이지에서는 React와 같은 npm을 사용하는 javascript 프로젝트에서 surge를 사용하는 방법을 안내해주고 있습니다. 우선 global option으로 surge를 설치한다.
1
|
npm install -g surge
|
cs |
그 다음 프로젝트 폴더로 들어가서 애플리케이션을 build한다.
1
|
npm run build
|
cs |
이제 surge를 사용해 보자. build 경로로 들어가서 surge 명령어를 입력하고 나면, 이메일과 비밀번호를 입력하라는 문구가 출력된다. 이메일과 비밀번호를 입력하고 나면, surge가 해당 프로젝트를 위해 중복되지 않는 랜덤한 도메인 하나를 만들어 준다. 이 과정에서 수정을 더해주면, 자신이 원하는 custom domain이나 가지고 있는 도메인으로 설정할 수도 있다.
아래의 예시에서는 React 프로젝트를 lemon-ipsum.surge.sh라는 도메인에 deploy해주었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$ surge
Welcome to surge! (surge.sh)
Login (or create surge account) by entering email & password.
email: domain@gmail.com
password:
Running as domain@gmail.com (Student)
project: D:\workspace\project-directory\build\
domain: lemon-ipsum.surge.sh
upload: [====================] 100% eta: 0.0s (33 files, 4987270 bytes)
CDN: [====================] 100%
IP: 45.55.110.124
Success! - Published to lemon-ipsum.surge.sh
|
cs |
'Web' 카테고리의 다른 글
Firebase Storage 규칙 수정 불가 오류 해결 (0) | 2021.08.26 |
---|---|
이벤트(2) - 전파 (Capturing, Bubbling) (0) | 2019.06.14 |