FastAPI

型ヒントを備えたAPI構築のための、モダンで高性能なPythonウェブフレームワーク。

1. サーバーに接続する

SSHを使用してサーバーに接続します:

ssh root@<server-ip>

2. ログイン認証情報のアクセス

アプリケーションを管理するための専用ユーザー「fastapi」が作成されました。

ログイン認証情報は、このファイル内にあります: /root/.fastapi-creds

それらを表示するには、以下を実行してください:

cat /root/.fastapi-creds

パスワードを変更したい場合は、以下を使用してください:

passwd fastapi

3. アプリユーザーに切り替える

アプリを管理するには fastapi ユーザーアカウントに切り替えてください:

su - flask

このアカウントには、FastAPIプロジェクトと環境が含まれています。

4. プロジェクト構造

デフォルトのディレクトリ構成は以下の通りです:

/home/fastapi/fastapi_app/
├── main.py          → Your main FastAPI application file
├── venv/            → Virtual environment
└── __pycache__/     → Compiled Python files (auto-generated)

5. アプリケーションの管理

アプリケーションディレクトリに移動します:

cd ~/fastapi_app

仮想環境を起動する:

source venv/bin/activate

メインアプリファイルを編集する:

nano main.py

変更を適用するには、FastAPIサービスを再起動してください:

sudo systemctl restart uvicorn-fastapi

6. ログの閲覧

UvicornとNginxのログは以下のように確認できます:

  • ユービコーンのログ: /var/log/uvicorn/
  • Nginx エラーログ: /var/log/nginx/error.log
  • Nginx アクセスログ: /var/log/nginx/access.log

それらを表示するには:

sudo tail -f /var/log/uvicorn/*

7. APIへのアクセス

サービスが実行されると、FastAPIアプリはブラウザで次のURLから利用可能になります: http://<server-ip>

Nginxは、FastAPIアプリケーションを実行しているUvicornソケットへHTTPリクエストを自動的に転送します。

8. ドメインまたはポートの変更

サーバー名、ポート、またはドメインを更新したい場合:

  1. Nginxのサイト設定を編集する: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. テスト構成: sudo nginx -t
  3. Nginxを再読み込み: sudo systemctl restart nginx

9. ユービコーン・サービス

FastAPIアプリケーションは、uvicorn-fastapiという名前のsystemdサービスを通じて実行されます。

それは使用する /home/fastapi/fastapi_app/main:app アプリケーションのエントリポイントとして機能し、失敗時には自動的に再起動します。

サービスを管理するには:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

サービスを編集するには:

sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi

10. HTTPSを有効にする(任意)

Certbotを使用してHTTPSを有効化します。

申請内容