はじめに 🚀
Red Hat 系 Linux で nginx を運用していると、「もっと最新の nginx を使いたい!」「公式の nginx.org のバージョンに切り替えたい!」と思うこと、ありますよね?
私の環境は Stream App の nginx をインストールしていたためサーバーの保守などの手間がかかっていました。
でも、いきなり削除して入れ替えたら、WordPress サイトや他のWEBが動かなくなるリスクも…。
そこで今回は、個別バックアップを活用して nginx を公式リポジトリからスムーズに移行し、WordPress サイトを無事に動作させる方法 を解説します!
この手順を実行すれば、失敗のリスクを最小限に抑えつつ、最新の nginx を運用できます! 💡
作業は自己責任で行ってください。
念のためフルバックアップを取得してください。
✔ nginx アップグレード & WordPress 動作チェック ToDo List
目的: nginx を削除・再インストールし、WordPress サイトの動作確認まで行う。
✅ 公式リポジトリを利用するポイント
- セキュリティの向上: 公式リポジトリの nginx は定期的にセキュリティアップデートが提供される。
- 最適化のメリット: 公式リポジトリでは、最新のパフォーマンスチューニングが適用されたバージョンを利用できる。
- 公式サポートのメリット: nginx.org のリポジトリ版は、ドキュメントやフォーラムを含めた幅広いサポートが利用できる。
📌 Step 1: nginx の個別バックアップ(安全確保)
まずは、設定ファイルや証明書をバックアップして、万が一のトラブルに備えます。
🔹 設定ファイルのバックアップ
sudo cp /etc/nginx/nginx.conf ~/backup_nginx.conf
sudo cp -r /etc/nginx/conf.d ~/backup_conf.d
🔹 SSL 証明書のバックアップ
sudo cp -r /etc/letsencrypt ~/backup_letsencrypt
🔹 その他の重要ファイル
sudo cp /etc/nginx/mime.types ~/backup_mime.types
sudo cp /etc/logrotate.d/nginx ~/backup_logrotate
(オプション) SELinux やポートの情報もバックアップしておくと安心。
sudo semanage fcontext -l | grep nginx > ~/selinux_nginx_backup.txt
sudo ss -tulnp | grep nginx > ~/nginx_ports_before_upgrade.txt
📌 Step 2: nginx の削除 & 再インストール
🔹 AppStream 版の nginx を削除
sudo dnf remove nginx nginx-core -y
🔹 nginx.org 版をインストール
sudo dnf install nginx -y
🔹 バージョン確認
nginx -v
この時点で、nginx のバージョンが公式のものになっているかをチェック!
📌 Step 3: 設定ファイルを個別バックアップから復元
バックアップした設定ファイルを確認し、適用していきます。
🔹 nginx.conf の復元
diff -u /etc/nginx/nginx.conf ~/backup_nginx.conf
👉 差分を確認し、適宜 /etc/nginx/nginx.conf
を編集。
🔹 conf.d ディレクトリの復元
sudo cp ~/backup_conf.d/* /etc/nginx/conf.d/
🔹 SSL 証明書の復元
sudo cp -r ~/backup_letsencrypt/* /etc/letsencrypt/
🔹 その他の設定の復元
sudo cp ~/backup_mime.types /etc/nginx/mime.types
sudo cp ~/backup_logrotate /etc/logrotate.d/nginx
📌 Step 4: nginx の設定チェック & 再起動
🔹 設定ファイルのチェック
sudo nginx -t
👉 エラーが出た場合は、設定ファイルを修正!
🔹 nginx を再起動
sudo systemctl restart nginx
🔹 nginx の動作確認
sudo systemctl status nginx
もしポート 80
や 443
が開いていなければ、以下を実行:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
📌 Step 5: WordPress サイトの動作チェック
🔹 ブラウザでサイトを開いて確認
👉 https://yourdomain.com
でアクセスし、ページが正しく表示されるか確認。
👉 管理画面 (https://yourdomain.com/wp-admin
) にログインできるかチェック。
🔹 PHP-FPM の動作確認(必要な場合)
sudo systemctl status php-fpm
もし php-fpm
が動いていなければ、起動:
sudo systemctl restart php-fpm
🔹 nginx のエラーログをチェック(必要な場合)
sudo tail -f /var/log/nginx/error.log
✔ まとめ
この手順でやれば、ミスなく nginx をアップグレードし、WordPress も正常動作できる! 🚀
- ✅ 公式リポジトリの活用でセキュリティ・最適化を実現
- ✅ 個別バックアップで安全確保
- ✅ nginx の削除 & 再インストール
- ✅ 設定ファイルを適用(新しいバージョンと比較しながら復元)
- ✅ WordPress の動作確認(ブラウザ & ログチェック)
🎯 この ToDo リスト通りに進めれば、失敗のリスクはほぼゼロ! 🔥