50% off 全プラン、期間限定。料金は $2.48/mo
FastAPI

FastAPI

FastAPI はモダンな Python Web フレームワークです。非同期ファースト、型ヒント対応で、OpenAPI および Swagger ドキュメントを自動生成できます。Microsoft、Uber、Netflix でも採用されており、Flask より 3〜5 倍高速です。2019 年以降、REST および GraphQL API 向けのデファクトスタンダード Python フレームワークとなっています。

バージョン

最新

オペレーティングシステム

Ubuntu Server 24.04 LTS

最小 RAM

1 GB

IPタイプ

IPV4,IPV6

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 のログは以下の方法で確認できます:

  • Uvicornログ: /var/log/uvicorn/
  • Nginx エラーログ: /var/log/nginx/error.log
  • Nginx アクセスログ: /var/log/nginx/access.log

表示するには:

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

7. API へのアクセス

サービスが起動すると、FastAPI アプリにブラウザからアクセスできます: http://<server-ip>

Nginx は HTTP へのリクエストを、FastAPI アプリが動作する Uvicorn ソケットに自動で転送します。

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

サーバー名、ポート、またはドメインを更新するには:

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

9. Uvicornサービス

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 を有効にする。

開発ツールをもっと見る

関連アプリ。

FastAPI を今すぐデプロイする $2.48/月からの価格