배포

Next.js 앱 배포하기

Vercel · Railway — 「로컬에서는 되는데」를 없앱니다

웹 4개를 두 플랫폼에 올려 운영 중입니다. 어디에 올릴지 고르는 기준, 환경변수에서 막히는 대부분의 경우, 도메인과 TLS, 그리고 깨졌을 때 되돌리기까지. 우리는 DNS 를 다 맞춰 놓고도 도메인 등록을 빠뜨려 며칠 헤맸습니다.

  • 4개 파트결제 즉시 전부 열립니다
  • 21개 산출물손에 남는 결과물
  • 25개 자산그대로 복사해 쓰는 것
  • 2.9만자읽을 분량
  • 평생소장 기수·개강일 없음
  • 평생 업데이트 고쳐지면 다시 받으면 최신본
  • 7일 청약철회 내려받기 전까지

「평생」은 회사가 이 서비스를 운영하는 기간을 뜻합니다. 서비스를 종료하게 되면 90일 전에 알려드리고, 결제하신 자료를 내려받으실 기간을 90일 이상 보장합니다. 그때까지 한 번도 내려받지 않으셨다면 환급해 드립니다. 환불 규정

「로컬에서는 되는데」에서 멈춘다면

내 컴퓨터에서는 잘 돕니다. 올리면 안 됩니다. 환경 변수인지, 빌드 설정인지, 아니면 다른 무엇인지 — 로그는 길고 어디를 봐야 할지 모릅니다. 배포는 코드가 아니라 환경 문제입니다.

지금

올렸는데 안 되고, 로그를 봐도 어디가 문제인지 모른다

이 강의를 따라 하면

어디에 무엇을 올릴지 정하고, 안 되면 순서대로 짚어 나간다

이 강의의 핵심

  1. Point 1어디에 올릴지부터 고릅니다Vercel 과 Railway 가 각각 무엇에 맞는지, 무료로 어디까지 되고 언제 돈이 나가는지를 확인 날짜와 함께 비교합니다.
  2. Point 2환경 변수에서 제일 많이 막힙니다어떤 값이 브라우저까지 나가고 어떤 값이 서버에만 남는지 — 여기서 키가 샙니다.
  3. Point 3도메인 연결과 인증서주소를 붙이는 순서와, 붙인 뒤에 확인해야 할 것을 적었습니다.
  4. Point 4배포가 안 올라올 때 짚는 순서빌드가 죽은 건지, 올라갔는데 안 도는 건지부터 가릅니다. 순서를 알면 로그를 다 안 읽어도 됩니다.

글이 아니라 물건입니다

읽고 끝나는 강의가 아닙니다. 그대로 열어서 쓰는 파일을 드립니다. 아래는 실제로 들어 있는 것의 앞부분입니다 — 편집하지 않았습니다.

PART 1 · 자산 미리보기
[1] 요청 하나가 얼마나 걸리나
  [ ] 대부분 몇 초 안에 끝난다
  [ ] ★ 1분 넘게 걸리는 요청이 있다
      → 실행 시간 제한이 있는 곳은 안 된다
      → 또는 작업을 나눠서 여러 번에 걸쳐 돌게 만든다

[2] 파일을 저장하나
  [ ] 저장 안 한다 (또는 외부 저장소를 쓴다)
  [ ] ★ 서버에 파일을 쓴다
      → 호스팅형은 재시작하면 사라진다
      → 외부 저장소를 쓰도록 바꾸는 게 대개 낫다
이 파일만 29줄 더 있습니다 · 결제하시면 전문

① 내 앱이 무엇을 필요로 하나

고르기 전에 이걸 채우십시오. 여기서 답이 대부분 나옵니다.

함께 들어 있는 자산

  • ① 내 앱이 무엇을 필요로 하나
  • ② 유형별 비교
  • ③ 옮기기 어려워지는 지점
  • ④ 고르기 전에 확인할 것
  • ⑤ 앱-플랫폼 목록
  • ⑥ 선택 근거 기록
  • ① 이름 규칙 — 브라우저로 새는 것
  • 외 18개

이런 분께

결제하시면 손에 남는 것 · 21개

강의를 다 보고 나면 이것들이 파일로 남습니다.

  1. 01내 앱이 무엇을 필요로 하는지 확인표PART 1
  2. 02플랫폼 유형별 비교 (호스팅형 vs 컨테이너형)PART 1
  3. 03고르기 전에 확인할 것PART 1
  4. 04나중에 옮기기 어려워지는 지점PART 1
  5. 05선택 근거 기록 양식PART 1
  6. 06환경변수 이름 규칙 (브라우저로 새는 것)PART 2
  7. 07로컬과 배포 환경변수 대조표PART 2
  8. 08없을 때 빨리 알아채는 코드PART 2
  9. 09「로컬에서는 되는데」 진단 순서PART 2
  10. 10키가 새는 것을 확인하는 법PART 2
  11. 11도메인 연결 절차PART 3
  12. 12DNS 설정이 반영되는 시간PART 3
  13. 13인증서가 안 발급될 때PART 3
  14. 14www 와 그냥 주소를 하나로 모으기PART 3
  15. 15주소가 바뀔 때 같이 고칠 곳PART 3
  16. 16배포 브랜치 확인 (푸시했는데 안 바뀔 때)PART 4
  17. 17배포 실패를 알아채는 법PART 4
  18. 18되돌리기 절차 (실제로 해 보기)PART 4
  19. 19배포 후 확인 항목PART 4
  20. 20배포 기록 남기기PART 4
  21. 21자동 백업 — 무엇을 어떻게 (복구 시험 포함)PART 4

커리큘럼 · 4개 파트

파트마다 무엇을 배우고, 무엇이 파일로 남는지까지 적었습니다. 목차만 보고 결제하시게 하지 않겠습니다.

  1. PART 1어디에 올릴지 고른다

    배우는 것

    • 앱이 무엇을 필요로 하는지 먼저 본다
    • 오래 도는 작업이 있나 확인한다
    • 파일을 서버에 저장하나 확인한다
    • 정기 실행이 필요한가 확인한다
    • 옮기기 어려워지는 지점을 안다
    • 나눠 올려도 된다

    손에 남는 것

    • 내 앱이 무엇을 필요로 하는지 확인표
    • 플랫폼 유형별 비교 (호스팅형 vs 컨테이너형)
    • 고르기 전에 확인할 것
    • 나중에 옮기기 어려워지는 지점
    • 선택 근거 기록 양식

    복사해 쓰는 자산 6개① 내 앱이 무엇을 필요로 하나 · ② 유형별 비교 · ③ 옮기기 어려워지는 지점 · ④ 고르기 전에 확인할 것 · ⑤ 앱-플랫폼 목록 · ⑥ 선택 근거 기록

  2. PART 2환경변수에서 대부분 막힌다

    배우는 것

    • 이름 앞자리가 공개 여부를 정한다
    • 값이 없으면 빈 문자열이 된다
    • 시작할 때 확인한다
    • 로컬과 배포를 대조한다
    • 값을 바꾸면 다시 배포해야 한다
    • 빌드 결과물에서 확인한다

    손에 남는 것

    • 환경변수 이름 규칙 (브라우저로 새는 것)
    • 로컬과 배포 환경변수 대조표
    • 없을 때 빨리 알아채는 코드
    • 「로컬에서는 되는데」 진단 순서
    • 키가 새는 것을 확인하는 법

    복사해 쓰는 자산 6개① 이름 규칙 — 브라우저로 새는 것 · ② 시작할 때 확인 · ③ 로컬과 배포 대조 · ④ 「로컬에서는 되는데」 진단 순서 · ⑤ 자주 나는 환경변수 문제 · ⑥ 배포 전 환경변수 점검표

  3. PART 3내 도메인을 붙이고 TLS 를 켠다

    배우는 것

    • 내 도메인이면 옮겨도 주소가 그대로다
    • DNS 는 반영에 시간이 걸린다
    • 인증서는 대개 자동이다
    • 주소를 하나로 모은다
    • 주소를 바꾸면 같이 고칠 곳이 많다
    • 도메인 만료를 조심한다

    손에 남는 것

    • 도메인 연결 절차
    • DNS 설정이 반영되는 시간
    • 인증서가 안 발급될 때
    • www 와 그냥 주소를 하나로 모으기
    • 주소가 바뀔 때 같이 고칠 곳

    복사해 쓰는 자산 6개① 도메인 연결 절차 · ② DNS 가 반영 안 될 때 · ③ 주소를 하나로 모으기 · ④ 인증서가 안 될 때 · ⑤ 주소가 바뀔 때 같이 고칠 곳 · ⑥ 도메인 관리 기록

  4. PART 4자동으로 배포되고, 깨지면 되돌린다

    배우는 것

    • 배포 브랜치를 확인한다
    • 배포 실패를 알아채야 한다
    • 되돌리기를 미리 해 본다
    • 배포 후에 실제로 확인한다
    • 작게 자주 배포한다
    • 배포 기록을 남긴다

    손에 남는 것

    • 배포 브랜치 확인 (푸시했는데 안 바뀔 때)
    • 배포 실패를 알아채는 법
    • 되돌리기 절차 (실제로 해 보기)
    • 배포 후 확인 항목
    • 배포 기록 남기기
    • 자동 백업 — 무엇을 어떻게 (복구 시험 포함)

    복사해 쓰는 자산 7개① 배포 브랜치 확인 · ② 배포 실패를 알아채기 · ③ 되돌리기 — 미리 해 보십시오 · ④ 배포 후 확인 — 2분 · ⑤ 배포 기록 · ⑥ 배포 점검표 · ⑦ 자동 백업 — 어디에 올리든 필요합니다

다루는 도구 · 3종

이름만 대고 넘어가지 않습니다. 무엇이고, 왜 쓰고, 얼마이고, 대신 쓸 수 있는 건 뭔지까지 적었습니다. 가격은 확인한 날짜를 같이 적었습니다 — 바뀌면 고쳐서 올립니다.

도구무엇인가가격대신 쓸 수 있는 것
Next.js웹사이트를 만드는 틀(프레임워크) 입니다.무료입니다(오픈소스). 돈이 드는 건 올리는 곳이지 틀이 아닙니다.정적 HTML · Astro · React + 별도 서버
VercelNext.js 를 만든 회사가 운영하는 배포 서비스입니다.Hobby 무료 (개인용, 월 100GB 전송·함수 실행 4시간·1M 요청). Pro 월 $20 (전송 1TB, 초과 시 GB당 $…Netlify · Cloudflare Pages · Railway
Railway내가 만든 것을 그대로 컨테이너로 돌려 주는 배포 서비스입니다.Free $0 (월 $1 크레딧), Hobby 월 $5 (월 $5 크레딧 포함), Pro 월 $20. 쓴 만큼 차감되는 방식이라 메…Render · Fly.io · 직접 서버(가상서버 임대)

누가 만들었나

앱 7개를 직접 만들어 Google Play 와 App Store 에 올리고, 지금도 운영합니다. 기획도 개발도 심사 대응도 고객 문의도 혼자 합니다. 이 강의는 그 과정에서 실제로 막혔던 지점만 적은 것입니다.

심사도 결제도 고객 문의도 직접 통과시켜 본 것만 씁니다. 남의 사례를 옮기지 않고, 해보지 않은 것을 아는 척하지 않습니다. 그래서 이 페이지에는 지어낸 수강생 수도, 후기도, 할인율도 없습니다 — 없는 것을 적지 않는 것이 우리가 파는 것의 일부입니다.

  • 7개스토어에 올려 운영 중인 앱
  • 15개같은 방식으로 만든 강의
  • 455개강의 전체에 든 복사해 쓰는 자산

묶어 사면 더 쌉니다

이 강의는 아래 패키지에 들어 있습니다. 관련 강의를 같이 보실 생각이면 패키지 쪽이 낫습니다.

자주 묻는 것

이건 아닙니다

환불

결제일부터 7일 이내에 철회하실 수 있습니다. 다만 본문을 내려받으신 뒤에는 청약철회가 제한됩니다(전자상거래법 제17조제2항제5호). 내려받으신 시각은 기록되며, 받지 않으신 상태라면 그대로 철회 대상입니다. 환불 규정 전문