0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AlmaLinux8.5+Python39+FastAPIローカル開発環境構築

Posted at

やりたいこと

AlmaLinux8.5でFastAPIのローカル開発環境を構築したい。

FastAPI
https://fastapi.tiangolo.com/ja/

AlmaLinux8.5 Download
https://mirrors.almalinux.org/isos/x86_64/8.5.html

前提

  • AlmaLinux8.5が最小構成以上でインストール済みであること。
  • SSH接続できること。
  • root権限が使えること。

環境

  • ホストOSはWindows11で、VirtualBoxを利用。
  • ネットワーク構成はブリッジアダプターを設定。ホストOSからプライベートIPアドレスでAlmaLinuxにSSH接続可能かつ、AlmaLinuxからインターネットに接続可能。

image.png

手順

SSH接続し、root権限で実行する。

python39インストール

dnf -y update
dnf -y install python39 python39-devel

pythonバージョン確認

python3 --version

image.png

pipバージョン確認

pip3 -V

image.png

SELinux無効化

setenforce 0
vi /etc/selinux/config
SELINUX=enforcing

SELINUX=disabled

に修正。

ポート開放

firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload

FastAPIインストール

pip3 install fastapi[all]

image.png

API実装

su yamato
cd /home/yamato
vi main.py
main.py
import uvicorn
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello FastAPI. I am Yamato."}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

API起動

python3 main.py

image.png

ブラウザからアクセス

AlmaLinuxのIPアドレスが

192.168.1.11

の場合、ホストOS(Windows11)からブラウザで

http://192.168.1.11:8000

にアクセスする。

image.png

image.png

http://192.168.1.11:8000/items/123?q=abcde

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?