EQVPS

VPS에서 Discord 봇을 24/7 호스팅하는 방법 (systemd)

VPS에서 Discord 봇을 24/7 온라인으로 유지하기: 런타임을 설치하고, 봇 토큰을 env 파일에 두고, Restart=always인 systemd 서비스로 감싸 충돌과 재부팅을 견디게 하세요. Node와 Python용 복사-붙여넣기.

무료 봇 호스트는 컨테이너가 잠들거나 서비스가 이벤트 도중 꺼지기 전까지만 작동합니다. systemd가 있는 $3 VPS는 봇을 진짜로 온라인으로 유지합니다. 이것은 실행 가이드입니다. 더 자세한 안내와 음악 봇 노트는 VPS에서 Discord 봇 호스팅Discord 봇용 VPS 사용 사례를 보세요. 전용 IP 불필요 — Discord 봇은 아웃바운드 연결만 하므로 **NAT 요금제(월 $3부터)**가 이상적입니다.

1. 런타임과 봇 설치 (Node 예시)

apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev

2. 토큰을 env 파일에 두기

cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env

3. Restart=always인 systemd 서비스

# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target

[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f

Restart=always가 그것을 24/7로 만드는 것입니다 — 새벽 3시의 처리되지 않은 rejection은 봇을 죽은 채 두지 않고 재시작합니다. (자세한 내용은 systemd 서비스 만들기.)

대신 Python?

같은 패턴 — venv와 discord.py, 유닛이 venv의 Python을 가리키도록:

ExecStart=/opt/bot/.venv/bin/python bot.py

참고

Nano는 월 $3, 약 1분이면 root, KYC 없음, 암호화폐로 결제 — 봇 프로젝트가 끝날 때 버릴 수 있을 만큼 저렴합니다. Telegram 봇도 같은 패턴.

자주 묻는 질문

Discord 봇을 24/7 온라인으로 어떻게 유지하나요?

VPS에 올리고 Restart=always인 systemd 서비스로 감싸세요. 그러면 충돌 시 재시작하고 부팅 시 시작합니다. 터미널이나 nohup으로 실행하면 연결이 끊기거나 재부팅하면 죽습니다. systemd는 살아 있게 하고 journalctl에 로깅합니다. Node와 Python용 복사-붙여넣기 유닛은 아래에 있습니다.

Discord 봇에 전용 IP가 필요한가요?

아니요. Discord 봇은 websocket으로 Discord 게이트웨이에 바깥으로 연결합니다 — 서버로 인바운드로 연결되는 것이 없습니다. NAT 요금제(월 $3부터)가 완벽하고 저렴하게 맞습니다. 전용 IP는 인바운드 웹 요청도 처리하는 봇에만 필요합니다.

작동하는 가장 저렴한 요금제는?

Nano(월 $3 — 2 vCPU, 1 GB)는 전형적인 discord.js 또는 discord.py 봇을, 그것도 여러 개를 동시에 실행합니다. 봇은 수십 메가바이트의 RAM에 자리합니다. 예외는 음악 봇 — 오디오 스트리밍은 CPU와 대역폭이 조금 더 필요하니 Micro/Small로 올리세요.

봇 토큰을 안전하게 저장하려면?

root만 읽을 수 있는 환경 파일에(chmod 600), systemd 유닛의 Environment 또는 EnvironmentFile로 로드하세요. 토큰을 소스에 하드코딩하거나 git에 커밋하지 마세요 — 유출된 토큰은 누구나 봇을 조종하게 합니다.

신분증이나 카드를 요구하나요?

아니요. 가입에 이메일, 결제는 USDC 또는 USDT — 서류 없음, 카드 없음. 약 1분이면 root.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.