たくさんの自由帳

nginx を更新したら /etc/nginx/sites-enabled/ を読み込んでくれなくて直した

投稿日 : | 0 日前

文字数(だいたい) : 1318

どうもこんばんわ。
あつい!!!扇風機こわれたので扇風機かいたい

環境

なまえあたい
レンタルサーバーAmazon LightsailUbuntu
UbuntuUbuntu 22

ちなみにLightsailも円安のせいで別に安くないです!!!!!

今の状態

自分のサーバーと自分のブラウザの間にCloudflareを挟んでいるので、CloudflareHost側が落ちてんぞ!画面になってる。

とりあえずVPSSSHで入った。

Node.jsで動いてるアプリケーションサーバーは生きてそう。nginxの向き先にしている3000番curl http://localhost:3000すると正しく帰ってきている。

となるとnginxが悪そう。が、sudo systemctl status nginxするとactiveなので動いてはいる、私のサイト用設定が飛んだのか?

解決

たぶん/etc/nginx/sites-enabled/にあるそれぞれのコンフィグを読み込む設定が消えてしまった?ので書き足せばよいはず。
vimか何かで/etc/nginx/nginx.confを開いて、

sudo vim /etc/nginx/nginx.conf

http { }の波かっこの中にこれを足す。

include /etc/nginx/sites-enabled/*;

vim ならiキーで編集モードにして)たぶん最後に足せばいいんじゃね?。

http {
    # 省略...

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*; # この一行
}

これでターミナルに戻って(vimならEscキーからの:wqで抜けれる)、nginxを再起動すればよいはず。
systemctl経由でもnginx -s reloadでもどっちでも同じらしい?

sudo systemctl restart nginx

これでnginxに今ロードしているコンフィグを問い合わせると、読み込まれてほしかったsites-enabledのコンフィグもターミナルに表示されるようになりました。

sudo nginx -T

なぜ消えたか考察する

nginxをインストールする手段が違ったかも。

ubuntuに最初から入ってるaptのリポジトリからインストールするとsite-enabledもロードする一行が書いてある?
一方、nginxのリポジトリをaptに手動で追加した場合は、もしかすると今回のように存在せず手動で追加する必要があるかもしれない。

nginx_config_from_ubuntu_apt_repo

おわり。888