[AWS] 우분투 서버에 파이썬 유비콘(uvicorn) 서버 띄우기
AWS 우분투 서버에 파이썬 유비콘(uvicorn) 서버 띄우기 🚀 (포트 8000번으로!)
좋은 아침입니다! 🌞 오늘은 AWS 우분투 서버에 파이썬 유비콘(uvicorn) 서버를 띄우는 방법을 알려드릴게요. 웹 프레임워크(FastAPI 등)로 만든 멋진 웹 애플리케이션을 AWS에서 실행하고 싶을 때 딱 필요한 정보랍니다! 😉
준비물:
- AWS 계정 (EC2 인스턴스 생성용)
- PuTTY 또는 터미널 (SSH 접속용)
- 웹 프레임워크 (FastAPI 등) 로 만든 파이썬 애플리케이션 (.py 파일)
1단계: AWS EC2 인스턴스 생성 🖥️
AWS 콘솔에 로그인하고 EC2 대시보드에서 "인스턴스 시작" 버튼을 클릭! 우분투(Ubuntu) AMI를 선택하고 인스턴스 유형, 키 페어 등을 설정해 주세요. (혹시 자세한 설명이 필요하면 댓글 남겨주세요! 👇)
2단계: SSH로 서버에 접속 🔐
PuTTY나 터미널을 열고 다음 명령어로 서버에 접속합니다. (.pem 파일 경로와 퍼블릭 IP 주소는 본인 환경에 맞게 수정해주세요!)
ssh -i /path/to/your-key.pem ubuntu@your-ec2-public-ip
3단계: 필요한 패키지 업데이트 및 설치 📦
서버에 접속했으면 다음 명령어로 패키지들을 최신 상태로 유지하고, Python과 pip를 설치합니다.
sudo apt update
sudo apt upgrade -y
sudo apt install python3-pip -y
4단계: 파이썬 가상환경 설정 🐍
가상환경을 만들어 프로젝트를 깔끔하게 관리해 봅시다!
python3 -m venv myenv
source myenv/bin/activate
이제 uvicorn과 사용할 웹 프레임워크(FastAPI)를 설치합니다.
pip install uvicorn fastapi
6단계: 간단한 웹 애플리케이션 작성 📝
uvicorn으로 실행할 파이썬 파일 (예: main.py) 을 준비합니다. FastAPI 예시 코드는 다음과 같습니다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
7단계: uvicorn 서버 실행 🚀
드디어 서버를 띄울 시간! 다음 명령어를 실행하세요.
uvicorn main:app --host 0.0.0.0 --port 8000
- main:app: 실행할 파이썬 파일 이름과 FastAPI 객체 이름입니다.
- --host 0.0.0.0: 모든 IP 주소에서 접근 가능하도록 설정합니다.
- --port 8000: 8000번 포트로 서버를 실행합니다.
8단계: 보안 그룹 설정 🔒
AWS 콘솔에서 EC2 인스턴스의 보안 그룹에 8000번 포트를 열어줘야 외부에서 접속할 수 있습니다.
- EC2 대시보드에서 인스턴스를 선택하고 "보안" 탭으로 이동합니다.
- 보안 그룹을 클릭하고 "인바운드 규칙 편집" 버튼을 누릅니다.
- "규칙 추가" 버튼을 클릭하고 다음과 같이 설정합니다.
- 유형: 사용자 지정 TCP
- 포트 범위: 8000
- 소스: 0.0.0.0/0 (모든 IP 허용) 또는 특정 IP 주소
접속 확인! 🎉
이제 브라우저에서 http://your-ec2-public-ip:8000 주소로 접속해 보세요. 만든 웹 애플리케이션이 잘 뜨는지 확인해보세요! 짜잔~ ✨