본문 바로가기

AiDAOps/개발 준비

서버 환경 설치 및 설정

728x90

기본 시스템을 어떤 형태로 진행할 것인지 결정되었으니 이제 환경설정이 이루어져야 하겠죠.

가능하면 처음 설정한 환경을 그대로 유지할 수 있으면 좋겠지만... 아마도 중간중간에 계속 바뀌게 될 것 같습니다. ㅠㅠ
어떤 일이 발생할지 모르니까요.
 

일단 FastAPI를 사용하기로 했으니 해당 라이브러리의 설치부터 해야 되겠죠.

 

  • 서버 OS: Linuxmint 21.1 (Kernel version: 5.15.0-67-generic)
  • Python Version: 3.10.6

제가 사용하는 서버 하드웨어는 좀 오래된... 10년이 훌쩍 넘은 구형입니다.
NVIDIA GPU를 사용하고 있긴 하지만... 구형 칩이라고 GPU 상에서 PyTorch 등이 작동하지 않습니다. ㅠㅠ
최신 서버 장비는... 좀 더 있다가 사야죠. 

 

어쨋든.. 특정 하드웨어에 종속될 일은 없으니 새로 서버를 산 후에도 별 문제 없이 작동할 것으로 믿고 진행하겠습니다.
 

파이썬 환경은 아나콘다 같은 패키지를 사용하지 않고 순정 파이썬 환경에 pip을 중심으로 직접 설치 및 설정합니다.
저도 처음에는 아나콘다를 사용했었지만 얼마 지나지 않아서 파이썬 환경을 직접 설치, 설정하는 쪽으로 바꿨습니다.
아나콘다 환경은 적용가능한 패키지나 범위에 다소 제한이 있고, 가끔 라이브러리가 제대로 동작하지 않는 경우가 있어서 저는 그다지 선호하지 않습니다.
 

먼저 가상환경을 만들고 활성화 시킵니다.

sudo apt install python3.10-venv
python -m venv Server
cd Server
source ./bin/activate

 

다음으로 FastAPI를 설치합니다.

pip install "fastapi[all]"

 

FastAPI 기본 라이브러리 외에도 Starlette, Pydantic, Uvicorn, Jinja 등 다양한 모듈이 설치되는 것을 확인할 수 있습니다.

FastAPI의 설치가 완료되었으니 main.py라는 이름으로 기본 서버를 만들고 서버를 실행시켜 보겠습니다.

from fastapi import FastAPI
 
app = FastAPI()
 
@app.get("/")
async def root():
    return {"Message": "Hello World"}
uvicorn main:app --reload

 

필요한 항목(fastapi, uvicorn 등)을 각각 설치해도 되지만 일단 몽땅 설치했습니다.

 

http://127.0.0.1:8000/
http://127.0.0.1:8000/docs/

 

브라우저에서 잘 작동하고 있으며 Root 함수에 대한 자동 문서화 결과도 정상적으로 나오는 것을 확인할 수 있습니다.
여기까지 해서 FastAPI의 설치와 작동 확인까지 끝났습니다.
다음 글에서는 데이터 파일 읽기를 해 보겠습니다.

 

 

 

 

 

 

 

728x90
반응형