Ubuntu 24.04.1 LTS と nginx

その他

Ubuntu 24.04.1 LTS が出てたから VM の Ubuntu Server もアップグレードしてみた。
24.04.1 が出る前なら 23.10 経由でアップグレードすることができたけれど、直接 22.04 LTS から 24.04 LTS にアップグレードしたかったからこのタイミングでアップグレードする。

それなりに時間はかかるけどアップグレードのコマンドは次のとおり。

sudo do-release-upgrade

アップグレード途中で設定ファイルを更新するかどうかなど、いくつか質問があるから適宜回答した。
特に問題なくアップグレードは終了。

今回アップグレードしたのは Reverse Proxy 用の VM だったから、nginx の stream の設定関係を変更する必要があった。

 

アップグレード前

  • 独自に作った stream.conf ファイルを /etc/nginx/conf.d/ などに保存すれば有効だった。
  • モジュールの追加は必要なし。

アップグレード後

  • stream 関係の設定は /etc/nginx/nginx.conf に記述する必要がある。
  • モジュール libnginx-mod-stream を別途インストールする必要がある。

 

ということで、次のコマンドでモジュールをインストールする。

sudo apt install -y libnginx-mod-stream

続いて nginx.conf に以前の設定内容を追記する。

stream {

    map $ssl_preread_server_name $name {
        jisaba.life           backend;
        wp.jisaba.life        backend_wp;
        cloud.jisaba.life     backend_cloud;
        x300.jisaba.life      backend_x300;
        x301.jisaba.life      backend_x301;
        h470.jisaba.life      backend_h470;
        pbs1.jisaba.life      backend_pbs1;
        pbs2.jisaba.life      backend_pbs2;
        mastodon.jisaba.life  backend_mastodon;
        pmg.jisaba.life       backend_pmg;
    }


    upstream backend {
        server 192.168.1.112:443;
    }

    upstream backend_wp {
        server 192.168.1.112:443;
    }

    upstream backend_cloud {
        server 192.168.1.114:443;
    }

    upstream backend_x300 {
        server 192.168.1.3:8006;
    }

    upstream backend_x301 {
        server 192.168.1.4:8006;
    }

    upstream backend_h470 {
        server 192.168.1.5:8006;
    }

    upstream backend_pbs1 {
        server 192.168.1.211:8007;
    }

    upstream backend_pbs2 {
        server 192.168.1.212:8007;
    }

    upstream backend_mastodon {
        server 192.168.1.118:443;
    }

    upstream backend_pmg {
        server 192.168.1.109:8006;
    }


    server {
        listen      443;
        proxy_pass  $name;
        ssl_preread on;
    }

    server {
        listen      8006;
        proxy_pass  $name;
        ssl_preread on;
    }

    server {
        listen      8007;
        proxy_pass  $name;
        ssl_preread on;
    }


    upstream spice {
        server 192.168.1.3:3128;
        server 192.168.1.4:3128;
        server 192.168.1.5:3128;
    }

    server {
        listen      3128;
        proxy_pass  spice;
    }
}

公開用 Web サーバーや Nextcloud、Proxmox VE 管理画面からの spice 接続設定その他、SNI(Server Name Indication)関係をここに記述している。

編集が終わったら次のコマンドで設定ファイルが間違っていないか確認する。問題なければそれっぽいメッセージが表示される。

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

以上で修正は完了。sudo systemctl restart nginx.service で nginx が起動して正しく接続できるようになった。
独自に作った stream.conf ファイルは削除済み。

他の VM もアップグレードしてみる。
スナップショットを残しておけば問題があれば簡単に元に戻せるから PVE は安心。
特に PHP 8.2 が動作している VM は 8.3 になるから注意しよう。

 

タグ