Next.js, Spring Boot 서버에 올리기
Next.js나 Spring Boot 앱을 직접 운영하려면 클라우드 서버(VPS) 스몰(월 13,000원)부터 시작하세요. 둘을 한 서버에 함께 올리거나 DB까지 두려면 메모리가 넉넉한 미디엄(월 24,000원) 이상이 편합니다.
이 구성으로 시작하세요
1vCPU | 2GB | NVMe 50GB
Next.js 앱이나 작은 API 하나를 올릴 때 맞습니다.
2vCPU | 4GB | NVMe 50GB
프론트엔드와 백엔드, DB를 한 서버에 둘 때 고르세요.
프레임워크 자동 감지 | 무료 SSL
서버 설정 없이 「배포해줘」로 올리고 싶을 때 고르세요.
표시 금액은 공급가 기준(VAT 별도), 2026년 10월 기준입니다.
이 순서대로 진행하세요
- 1
VPS 만들고 방화벽 열기
VPS를 만들고 Ubuntu를 고릅니다. 콘솔 방화벽에서 22(SSH), 80, 443 포트를 열고, SSH는 가능하면 내 IP에서만 허용하세요. 앱 포트(3000, 8080)는 외부에 열 필요가 없습니다.
- 2
Next.js: standalone 으로 빌드
next.config 에 output: "standalone" 을 넣고 빌드합니다. .next/static 과 public 폴더는 standalone 폴더 안으로 복사해야 정적 파일이 제대로 나옵니다.
npm run build cp -r .next/static .next/standalone/.next/static cp -r public .next/standalone/public node .next/standalone/server.js - 3
Spring Boot: 같은 Java 버전으로 jar 실행
서버에 프로젝트와 같은 버전의 Java를 설치하고, 빌드한 jar 파일을 올려 실행합니다.
./gradlew bootJar java -jar build/libs/app.jar - 4
systemd 로 서비스 등록
앱마다 systemd 서비스를 만들어, 서버가 재부팅되거나 앱이 꺼져도 자동으로 다시 켜지게 합니다.
[Service] WorkingDirectory=/home/ubuntu/api ExecStart=/usr/bin/java -jar /home/ubuntu/api/app.jar Restart=always User=ubuntu - 5
nginx 리버스 프록시
nginx가 80, 443 포트로 요청을 받아 앱 포트로 넘기게 설정합니다.
server { server_name example.com; location / { proxy_pass http://127.0.0.1:3000; } location /api/ { proxy_pass http://127.0.0.1:8080; } } - 6
certbot 으로 HTTPS
도메인의 A 레코드를 서버 IP로 맞춘 뒤 certbot으로 Let's Encrypt 인증서를 발급받습니다.
sudo certbot --nginx -d example.com
시작 전에 확인하세요
백업은 직접 관리합니다
VPS는 기본 백업을 제공하지 않습니다. DB 덤프와 업로드 파일은 정기적으로 따로 보관하세요.
월 트래픽 300GB 기본
넘긴 만큼만 GB당 49원에서 시작해 많이 쓸수록 29원까지 내려가는 구간 요금으로 청구됩니다. 서버는 멈추지 않습니다.
사양 변경
올리면 즉시 적용되고 남은 기간의 차액만 냅니다. 내리면 다음 결제일부터 반영됩니다.
리눅스 서버입니다
Ubuntu, Rocky, Debian 중에서 고릅니다. 윈도우 서버는 제공하지 않습니다. 대규모 서비스는 월 77,000원부터인 단독 서버도 있습니다.
자주 묻는 질문
내 앱을 내 서버에서 운영하세요.
단독형 vCPU, NVMe 50GB, 국내 데이터센터. 월 13,000원부터입니다.
