Rocky Linux 9 に Nginx を導入し、バックエンドアプリの前段に立つリバースプロキシとして設定する手順を解説します。設定ファイルの構成から構文チェック、無停止リロードまで、本番運用を想定した実践的な流れで進めます。SSL終端は次回記事で扱います。
- Rocky Linux 9.x が動作するサーバ(root または sudo 権限)
- バックエンドアプリが
127.0.0.1:3000で起動済み - ドメインの DNS A レコードがサーバを指していること
1. Nginx のインストール
まず dnf でパッケージを導入します。下の「最新版を確認」ボタンで、現在のリポジトリ最新版と記事公開時点を比較できます。
sudo dnf install -y nginxインストール後、バージョンを確認します。実行結果(出力)のブロックにはコピーボタンを付けません — 出力を誤ってターミナルに貼り付ける事故を防ぐためです。
nginx -vnginx version: nginx/1.20.1Rocky 9 標準リポジトリの Nginx はバージョンが古めです。最新版が必要な場合は nginx 公式リポジトリの追加を検討してください。
2. ディストリ別のパッケージ名
ディストリビューションによってコマンドとパッケージ名が異なります。
sudo dnf install -y nginx
sudo systemctl enable --now nginxsudo apt update
sudo apt install -y nginx3. 設定ファイルの構成
Nginx の設定ファイルは /etc/nginx/ 配下に置かれます。
/etc/nginx/ ├── nginx.conf # メイン設定。ここから他を include ├── conf.d/ # サイト別設定の置き場 │ └── reverse-proxy.conf # ← 本記事で作成するファイル ├── default.d/ # default サーバへの追記用 ├── mime.types # 拡張子と MIME タイプの対応表 └── ssl/ # 証明書の配置(任意)
4. リバースプロキシの設定
新しい設定ファイルを作成します。黄色のハイライトは あなたの環境に合わせて書き換える箇所 です。冒頭の「環境変数」に値を入れると一括で置き換わります。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}ハイライトされた location ブロックがリバースプロキシの中核です。proxy_set_header を省くとバックエンド側でクライアント IP が取得できなくなります。
5. 設定の適用
構文チェック
sudo nginx -t で設定ファイルの文法を検証します。
リロード
sudo systemctl reload nginx で無停止反映します。
動作確認
ブラウザでドメインにアクセスし、バックエンドの応答が返れば成功です。
6. 既存設定からの変更点
nginx.conf 側に 1 行追加するだけで conf.d が読み込まれます。
http {
include /etc/nginx/mime.types;
- # サイト設定なし
+ include /etc/nginx/conf.d/*.conf;
}
多くの場合 include /etc/nginx/conf.d/*.conf; は初期 nginx.conf に既に書かれています。grep conf.d /etc/nginx/nginx.conf で確認してから追記しましょう。
7. 次のステップ:SSL証明書
HTTPS 化には certbot を使います。こちらも鮮度チェックの対象です。
sudo dnf install -y certbot fail2banインストール後、対象ドメインを指定して証明書を取得します。冒頭の「環境変数」でドメインを入力すると、このコマンドのドメイン部分も同時に書き換わります。
sudo certbot --nginx -d your_domain.com本番サーバで systemctl restart nginx を多用しないこと。瞬断が発生します。設定反映は必ず reload を使ってください。
以上で Rocky Linux 9 上の Nginx リバースプロキシ構築は完了です。


