Ubuntu 24.04.1 LTS と nginx
2024年8月31日(土曜日) - 13:56
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 になるから注意しよう。