Rose
Rose
🎻 루키 파트너
🚀 SNS 챌린지 달성자

DigitalOcean 클라우드 서버에 로즈봇 서버 구축

소개

17기 Figma + Replit 스터디에서 쓸 로즈봇의 서버를 DigitalOcean이라는 클라우드 서버에 구축했습니다.

진행 방법

한국 문자 메시지의 스크린 샷
한국어 문자 메시지의 스크린 샷

로즈봇을 만들었습니다. 일단 지피터스 링크를 공유하면, 응원과 칭찬을 팡팡해드립니다.

느낌표 뒤에 검색어를 쓰시면 퍼플렉시티 검색을 해서 알려드립니다.

17기 Figma + Replit 스터디 참여하시는 분들, 많이 애용해주세요~😍

오늘 공유할 사례는 DigitalOcean 클라우드 서버 구축 사례입니다.

PC 하나를 계속 켜 두기는 싫고, 아직 N100도 없고.. ㅠ.ㅠ

대안으로 클라우드 서버에 계정을 하나 만들었습니다.

계정은 만들었는데, 무엇을 어떻게 해야 하나.. 😅

검색을 통해 방법을 알아냈습니다.

로컬에서 잘 돌아가던 서버를 DigitalOcean에 올리려면 일단 "Droplets"이란 걸 만들어야 합니다.(용어부터 어렵다.. ㅠ.ㅠ)

인증방법은 SSH 키로 하는 것이 보안이 좋대서 열심히 키를 만들었습니다.

ssh-keygen -t rsa -b 4096 -C "[email protected]"
type C:\Users\사용자명\.ssh\id_rsa.pub

Droplets 생성이 완료되면 생성된 Droplets을 클릭하면 IP 주소를 확인가능합니다

이렇게 접속합니다.

ssh root@<서버_IP_주소>

서버 업데이트를 하고, 파이썬 서버여서 파이썬 설치합니다.

프로젝트 소스를 업로드 합니다.

apt update && apt upgrade -y
apt install -y python3 python3-pip python3-venv
scp -r <프로젝트 폴더> root@<서버_IP_주소>:/root

가상환경을 생성하고 필요한 패키지를 설치합니다.

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

필요한 것이 다 되었으니 서버를 실행해서 동작을 확인합니다.

uvicorn app.main:app --host 0.0.0.0 --port 8000

잘 되니, 이제 후처리를 합니다. 방화벽을 활성화합니다.

ufw allow ssh
ufw allow 80
ufw allow 443
ufw allow 8000
ufw enable

서버 시작과 종료 설정을 합니다. - /etc/systemd/system/fastapi.service 파일을 작성합니다.

[Unit]
Description=FastAPI App
After=network.target

[Service]
User=root
WorkingDirectory=/root/<프로젝트 폴더>
Environment="PATH=/root/<프로젝트 폴더>/venv/bin"
ExecStart=/root/<프로젝트 폴더>/venv/bin/gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app
Restart=always

[Install]
WantedBy=multi-user.target

이제 이렇게 서비스를 시작합니다.

systemctl daemon-reload
systemctl enable fastapi
systemctl start fastapi

중지와 재시작은 이렇게 합니다.

중지: sudo systemctl stop fastapi
재시작: sudo systemctl restart fastapi

도메인 설정도 하고 싶지만, 구매를 안 했... 😅

결과와 배운 점

서버에 소스를 업로드하며 venv 까지 실수로 올려서 다 지우고

다시 설치해야 했어요..😅

클라우드 서버 구축 은근 저렴하고 어렵지 않네요..

도움 받은 글 (옵션)

https://www.gpters.org/wealth/post/n8n-automation-platform-built-hQZljoaUYR2b9s1

3
8개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 아침,
읽고 바로 써먹을 AI 소식만