Why Not SW CAMP 5기/수업 기록
[4월 1주차-4/4]🚀 Pybo Q&A 게시판 AWS Lightsail로 배포하기
rubii
2025. 4. 7. 09:21
Flask로 만든 Pybo 프로젝트를 AWS Lightsail을 통해 배포하는 과정을 정리했습니다. 실습형 미니 프로젝트를 실제 클라우드에 띄워보며 웹 개발 경험을 한 단계 끌어올려보세요! 🌍
☁️ 1. AWS Lightsail 인스턴스 생성
- AWS Lightsail 접속 → 인스턴스 생성 클릭
- 플랫폼: Linux/Unix
- 앱 + OS: Ubuntu 선택
- SSH 키: 사용자 지정 키 생성 → 이름: pybo_key
- 나머지는 기본값으로 생성
✅ 고정 IP 설정
- 생성한 인스턴스 클릭 → 네트워킹 탭
- 고정 IP 연결 → 생성 및 연결
✅ 방화벽 설정
- 인스턴스 > 네트워킹 > 방화벽 규칙에 Custom TCP 5000 포트 추가
🔐 2. 서버 접속 (MobaXterm)
- MobaXterm 실행 > Session > SSH 탭 선택
- Remote host: 고정 IP 입력
- Specify username: ubuntu
- Use private key: pybo_key.pem 선택
- 접속 후 인스턴스 재부팅
🕹️ 3. 서버 초기 설정
✅ hostname 변경 및 시간 설정
sudo hostnamectl set-hostname jumpto
sudo reboot
# 재접속 후
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
✅ 파이썬 확인
python3
🧪 4. 가상환경 구성
sudo apt update
sudo apt install python3-venv
mkdir projects
mkdir venvs
cd venvs
python3 -m venv myproject
cd myproject/bin
. activate
# 필수 패키지 설치
pip install wheel
pip install flask
pip install flask-migrate
pip install flask-wtf
pip install email_validator
📦 5. Pybo 프로젝트 가져오기
cd ~/projects
git clone https://github.com/erimii/flask-pybo.git myproject
🚀 6. Pybo 실행하기
cd ~/projects/myproject
# Flask 실행 전 환경 변수 설정
export FLASK_APP=pybo
export FLASK_DEBUG=true
# DB 초기화
flask db init
flask db migrate
flask db upgrade
# Flask 앱 실행
flask run --host=0.0.0.0
🔗 브라우저에서 고정IP:5000 으로 접속!
🎉 Pybo 사이트가 실제 서버에 올라간 것을 확인할 수 있습니다.
🧹 7. 인스턴스 및 리소스 정리
- Lightsail 콘솔 > 고정 IP > 분리
- 인스턴스 > 삭제
- 네트워킹 탭 > 고정 IP 삭제
✅ 마무리
Pybo는 단순한 플라스크 프로젝트를 넘어서, 배포까지 마친 진짜 웹 서비스 형태의 앱으로 성장했습니다.