メインコンテンツにスキップ

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" タブにあります。