Actions
機能 #63
openUpdated by K Okuda 13 days ago · Edited
1) OSパッケージ
# 基本
sudo dnf -y update
sudo dnf -y install python3 python3-pip
# python3-venvはoracle linuxのためスキップ
# PostgreSQL(AppStreamの例:v15を使う)
sudo dnf -y module reset postgresql
sudo dnf -y module enable postgresql:15
sudo dnf -y install postgresql-server
# Certbot(Let’s Encrypt)
sudo dnf -y install oracle-epel-release-el$(rpm -E %rhel)
sudo dnf -y install certbot
PostgreSQLの初期化・起動(必要なら)
sudo /usr/bin/postgresql-setup --initdb
sudo systemctl enable --now postgresql
2) 仮想環境を作成して有効化
python3 -m venv /opt/myapp/.venv
source /opt/myapp/.venv/bin/activate
python -m pip install --upgrade pip
3) Pythonパッケージ(アプリ用)
# FastAPI 本体+Uvicorn(推奨オプション込み)
pip install fastapi "uvicorn[standard]"
# PostgreSQL ドライバ(psycopg v3)
pip install "psycopg[binary]"
# 追加(必要に応じて)
pip install alembic # マイグレーションを使うなら
pip install "passlib[bcrypt]" # パスワードハッシュにbcryptを使うなら
pip install python-dotenv # .env で環境変数を管理するなら
pip install Pillow # 画像の再エンコードをサーバーでやるなら
Updated by K Okuda 13 days ago · Edited
# (入っていたら)抜ける
deactivate 2>/dev/null || true
# 古いvenvは不要なら削除(消したくない場合はスキップ)
sudo rm -rf /opt/myapp/.venv
# 新しく作る(ホーム配下)
mkdir -p ~/myapp
python3 -m venv ~/myapp/.venv
source ~/myapp/.venv/bin/activate
python -m pip install --upgrade pip
pip install fastapi "uvicorn[standard]" "psycopg[binary]" \
alembic "passlib[bcrypt]" python-dotenv Pillow
which uvicorn
python -c "import fastapi,psycopg,PIL,uvicorn; print('OK')"
# 起動
/opt/myapp/.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
# または ~/myapp/.venv/bin/uvicorn ...
Actions