Ubuntu サーバーでのパッチ適用手順(FastAPI / AIドキュメント生成システム対応)

🗒️ 概要

本記事では、Ubuntu 25.04 環境で稼働中の
FastAPIベース「AIドキュメント生成システム」に対して、セキュリティパッチおよび、各種ライブラリのアップデートを安全に行う手順を解説します。メンテナンス用の端末接続は、Tera Term(ssh接続)にて実施しますので、接続後の手順を説明します。

対象環境:

  • OS:Ubuntu 25.04(Xserver VPS)
  • Webサーバ:Nginx + Uvicorn(Gunicorn 経由)
  • アプリ環境:FastAPI / Python 3.13.3 / MySQL 8.4.6

💾 1. システムバックアップ(推奨)

更新前に途中で障害が発生した場合のロールバック用に DBと設定ファイルのバックアップ を取ります。バックアップ先は、「/backup/all_backup.sql」等を仮設定していますが、個々に保存先は変更して下さい。

MySQLデータベース全体バックアップ

mysqldump -u root -p --all-databases --single-transaction --quick > /backup/all_backup.sql

設定ファイル(/etc ディレクトリ)のバックアップ

sudo tar czf /backup/etc_backup_$(date +%F).tar.gz /etc

2. システム全体のパッケージ更新

まずはサーバーのパッケージ情報を最新化します。

sudo apt update
sudo apt list --upgradable    # アップデート対象の確認
sudo apt upgrade -y
sudo apt full-upgrade -y

💡 apt list --upgradable の結果に
mysql-server, python3, libssl, systemd など重要パッケージが含まれる場合は
夜間や休日のメンテナンス時間帯に実行するのが安全です。


3. 不要パッケージの削除

パッケージ更新時に不要となったパッケージは、以下の処理で削除可能です。残しておきたい場合は、当処理は、省いて下さい。

sudo apt autoremove -y
sudo apt autoclean

4. リブート実行

更新によって、再起動を求めてくる場合は、以下のコマンドを実行して下さい。他の方法にてリブートする場合は、その手順でも構いません。リブートするとTera Termは、一旦落ちますので、再接続して下さい。

sudo reboot

🐍 5. Pythonパッケージのアップデート

仮想環境に入ってから主要ライブラリを更新します。

cd /srv/ai-docs
source venv/bin/activate
pip install --upgrade pip
pip install --upgrade fastapi uvicorn[standard] httpx pydantic starlette mysql-connector-python

🧩 補足:

  • pydantic, fastapi, starlette は互換性を保ちながら同時更新が必要です。
  • エラーが出た場合は pip uninstall <対象> → 再インストールで解決します。

🧰 6. サービスの再起動と確認

systemd ユニットを再読み込み

sudo systemctl daemon-reload

FastAPI アプリを再起動

sudo systemctl restart ai-docs.service

稼働確認(MySQL 動作確認)

sudo systemctl status mysql
mysql -u root -p -e "SHOW DATABASES;"
image-1 Ubuntu サーバーでのパッチ適用手順(FastAPI / AIドキュメント生成システム対応)

「active(running)」で、「Database」の一覧がでれば、問題ないです。正常起動しています。

FastAPI 動作確認

sudo journalctl -u ai-docs.service -n 50

Application startup complete. と出力されれば正常起動です。


🧩 7. Nginx 側の確認(Nginxを変更した場合)

sudo nginx -t
sudo systemctl reload nginx
image-2 Ubuntu サーバーでのパッチ適用手順(FastAPI / AIドキュメント生成システム対応)

nginx: configuration file ... test is successful が出ればOKです。


📈 8. 動作検証チェックリスト

項目コマンド確認内容
FastAPI起動systemctl status ai-docs.serviceActive: active (running)
MySQL接続mysql -h 127.0.0.1 -u ai_docs -p ai_documentDB接続可能
Webアクセスhttp://<サーバIP>/docgenログイン・生成画面動作確認
エラー確認journalctl -u ai-docs.service -fERRORログがないこと

🔒 9. まとめ

  • Ubuntu環境は定期的な apt upgradepip update が不可欠
  • .envlocalhost → 127.0.0.1 でMySQL接続安定化
  • systemctl restart ai-docs.service で反映確認
  • 更新前には必ずバックアップを取得すること

Share this content:

コメントを送信

CAPTCHA