메인 콘텐츠로 건너뛰기

Systemd

소개

Systemd를 사용하면 모든 애플리케이션을 서비스로 실행할 수 있습니다.

FastAPI

예시로 FastAPI 프레임워크를 실행해 보겠습니다:

  1. "Systemd" 템플릿을 사용하여 웹사이트를 생성합니다.

Systemd 사이트 마법사

  1. root 사용자로 SSH를 통해 서버에 연결합니다.
  2. 필요한 패키지를 설치합니다:

Debian/Ubuntu:

apt update && apt install python3-pip python3-venv -y

Rocky Linux/AlmaLinux:

yum install python3-pip python3-virtualenv -y
  1. 사이트의 시스템 사용자로 전환합니다:
su - yoursiteuser

yoursiteuser을 실제 사용자 이름으로 바꾸세요.

참고

사이트 카드의 "Site user" 필드에서 사이트 사용자를 확인할 수 있습니다. 사이트 사용자 비밀번호를 변경하려면 FASTPANEL®의 "Management" → "Users" 섹션으로 이동하세요.

  1. 가상 환경을 생성하고 활성화합니다:
python3 -m venv myenv
source myenv/bin/activate

myenv을 원하는 환경 이름으로 바꾸세요.

  1. FastAPI에 필요한 패키지를 설치합니다:
pip install fastapi uvicorn
  1. 가상 환경을 비활성화합니다:
deactivate
  1. 웹사이트 디렉터리에 main.py 파일을 다음 내용으로 생성합니다:
import os
import uvicorn
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"hello": "world"}

if __name__ == "__main__":
port = int(os.getenv("SERVICE_PORT", 8000))
uvicorn.run(app, host="0.0.0.0", port=port)
  1. 사이트 대시보드에서 “Settings” → “Backend”로 이동합니다.
  • "Launch command"를 다음과 같이 설정합니다: python3 main.py
  • 저장한 후 웹사이트를 확인합니다

로그

Systemd 서비스는 로그를 생성할 수 있습니다. FASTPANEL®에서는 사이트 대시보드의 "Logs" 섹션에 있는 "Backend log" 탭에서 이를 확인할 수 있습니다.