프로젝트/Springboot_MariaDB

[AWS] 우분투 서버에 파이썬 유비콘(uvicorn) 서버 띄우기

CBJH 2024. 6. 29. 10:57
728x90
반응형

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
 
 
5단계: uvicorn 및 FastAPI (또는 다른 웹 프레임워크) 설치 ⚙️

이제 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번 포트를 열어줘야 외부에서 접속할 수 있습니다.

  1. EC2 대시보드에서 인스턴스를 선택하고 "보안" 탭으로 이동합니다.
  2. 보안 그룹을 클릭하고 "인바운드 규칙 편집" 버튼을 누릅니다.
  3. "규칙 추가" 버튼을 클릭하고 다음과 같이 설정합니다.
    • 유형: 사용자 지정 TCP
    • 포트 범위: 8000
    • 소스: 0.0.0.0/0 (모든 IP 허용) 또는 특정 IP 주소

 

 

접속 확인! 🎉

이제 브라우저에서 http://your-ec2-public-ip:8000 주소로 접속해 보세요. 만든 웹 애플리케이션이 잘 뜨는지 확인해보세요! 짜잔~ ✨