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;"

「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

nginx: configuration file ... test is successful が出ればOKです。
📈 8. 動作検証チェックリスト
| 項目 | コマンド | 確認内容 |
|---|---|---|
| FastAPI起動 | systemctl status ai-docs.service | Active: active (running) |
| MySQL接続 | mysql -h 127.0.0.1 -u ai_docs -p ai_document | DB接続可能 |
| Webアクセス | http://<サーバIP>/docgen | ログイン・生成画面動作確認 |
| エラー確認 | journalctl -u ai-docs.service -f | ERRORログがないこと |
🔒 9. まとめ
- Ubuntu環境は定期的な
apt upgradeとpip updateが不可欠 .envのlocalhost → 127.0.0.1でMySQL接続安定化systemctl restart ai-docs.serviceで反映確認- 更新前には必ずバックアップを取得すること
Share this content:
コメントを送信