DigitalOcean에 VAPOR 기반 서비스 게시

발행: (2026년 2월 27일 오전 02:02 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

DigitalOcean에서 서버 생성 및 설정

  1. Droplet을 생성하고 배포판으로 Ubuntu 22.04 LTS를 선택합니다.
  2. 서버 크기를 선택합니다 (예: 1 vCPU, 512 MB RAM, 10 GB SSD).
  3. SSH 인증 방식을 선택하고 DigitalOcean에 SSH 키를 추가합니다.
  4. Droplet에 이름을 지정하고 프로젝트에 연결합니다.
  5. 생성을 확인하고 Droplet이 프로비저닝될 때까지 기다립니다.

생성되면 서버 IP가 패널에 표시됩니다.

SSH 연결 및 방화벽 설정

ssh root@your_server_ip

your_server_ip를 할당된 IP 주소(예: 146.190.121.34)로 교체합니다. 호스트 지문을 수락합니다.

# Habilitar OpenSSH en UFW
ufw allow OpenSSH
ufw enable   # confirma con "y"

애플리케이션이 사용할 포트(8080)를 엽니다:

sudo ufw allow 8080

vapor 사용자 생성 및 sudo 권한 부여

adduser vapor   # sigue las indicaciones, dejando en blanco la información adicional
usermod -aG sudo vapor

root 사용자의 인증된 SSH 키를 새 사용자에게 복사합니다:

rsync --archive --chown=vapor:vapor ~/.ssh /home/vapor

세션을 종료하고 vapor로 다시 연결합니다:

exit
ssh vapor@your_server_ip

Swiftly 및 Swift 의존성 설치

curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
tar zxf swiftly-$(uname -m).tar.gz && \
./swiftly init --quiet-shell-followup && \
. "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" && \
hash -r

요청 시 Y를 입력하여 확인합니다.

필요한 의존성을 설치합니다:

sudo apt-get update
sudo apt-get -y install binutils unzip libcurl4-openssl-dev \
  libgcc-13-dev libpython3-dev libstdc++-13-dev libxml2-dev \
  libncurses-dev libz3-dev pkg-config zlib1g-dev

Swift 버전을 확인합니다:

swift --version
# Swift version 6.2.3 (swift-6.2.3-RELEASE)

Vapor toolbox 설치

git clone https://github.com/vapor/toolbox.git
cd toolbox
git checkout 20.0.0   # último release al momento de escribir
swift build -c release --disable-sandbox
sudo mv .build/release/vapor /usr/local/bin
cd ..
rm -rf toolbox

애플리케이션 클론 및 컴파일

서버의 SSH 키가 GitHub 계정에 추가되어 있는지 확인한 후, 저장소를 클론합니다:

git clone git@github.com:.git
cd StripeIntentService
swift run StripeIntentService serve --hostname 0.0.0.0 --port 8080

Nota: 컴파일 중 메모리 부족 오류가 발생하면 Droplet의 RAM을 일시적으로 늘렸다가(예: 4 GB) 컴파일이 끝난 뒤 다시 줄일 수 있습니다.

GitHub용 SSH 키 설정 (옵션)

ssh-keygen -t ed25519 -C "your_email@example.com"   # aceptar valores por defecto
eval "$(ssh-agent -s)"

~/.ssh/config를 편집하고(예: nano 사용) 다음을 추가합니다:

Host github.com
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519

키를 에이전트에 추가합니다:

ssh-add ~/.ssh/id_ed25519

공개 키를 확인하고 GitHub 계정에 추가합니다:

cat ~/.ssh/id_ed25519.pub

Droplet 리소스 조정 (필요 시)

DigitalOcean 패널에서 Manage → Droplets로 이동한 뒤, 해당 Droplet을 선택하고 Upsize를 클릭합니다. 필요에 따라 RAM/CPU 구성을 선택합니다(예: 2 GB 또는 4 GB). 리사이징을 확인합니다. 컴파일이 끝난 후 원한다면 다시 사이즈를 줄일 수 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »