우선 AWS EC2에서 인스턴스를 생성해준 후 SSH로 접속해둡니다.
저는 ubunto 20.04 버전을 선택했습니다.
1️⃣ 설치하기
▶️ python & pip
sudo apt update
sudo apt-get upgrade python3 # Python 3 버전이 최신 상태로 업데이트
sudo apt install python3-pip # Python 패키지 관리자 pip 설치
pip3 --version # 설치 버전 확인
이렇게 버전이 잘 나오면 설치가 제대로 되었다는 것 입니다.
▶️ FastAPI
sudo pip3 install fastapi
sudo pip3 install "uvicorn[standard]" # Python 웹 서버
▶️ Pytorch
# linux + pip + cpu
sudo pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
각자 환경에 맞는 명령어를 아래 사이트에서 찾아서 설치하시면 됩니다.
https://pytorch.kr/get-started/locally/
▶️ Nginx
sudo apt-get install nginx
2️⃣ Nginx 설정하기
nginx 구성파일을 만듭니다.
sudo vi /etc/nginx/sites-enabled/fastapi
fastapi에 아래 내용을 추가해줍니다.
server {
listen 80; # http 포트 번호
server_name <서버 주소>; # 탄력적 IP or 도메인 주소
location / {
proxy_pass http://127.0.0.1:8000;
}
}
<서버주소:80> 로 들어온 요청을 fastapi 서버인 http://127.0.0.1:8000로 전달하는 역할을 수행하도록 하는 것 입니다.
sudo service nginx restart # 재시작
재시작 했는데 에러가 발생했다면 오타가 있는지 확인해보세요 !
3️⃣ git clone 프로젝트
그럼 작성해놓은 FastAPI 프로젝트를 클론받아봅시다.
git clone <레포지토리 주소>
다음으로는 프로젝트 실행 시 필요한 패키지를 requirements.txt 로 설치해주겠습니다. ( 저는 openai랑 sentence_transformers를 설치해줬습니다. )
sudo pip3 install -r requirements.txt
4️⃣ 서버 실행
main.py가 있는 위치로 이동해 서버를 실행해주면 됩니다.
python3 -m uvicorn main:app
<서버주소>/docs 로 접속했을 때 스웨거가 보이면 됩니다. 그럼 성공 !!!
'Server > AWS' 카테고리의 다른 글
[AWS lightsail] 인스턴스 / 데이터 베이스 생성 (0) | 2023.07.20 |
---|---|
AWS EC2 인스턴스 생성하기 (0) | 2023.04.05 |
AWS S3 버킷 만들기 (0) | 2023.01.11 |
블록체인 주요 용어 정리 (0) | 2022.06.07 |