Skip to content

nginxで80番ポートの向き先を変更する

   

Wiki.jsをservice化したときに、nobodyユーザーだと80番ポートでlistenできないので、Wiki(node.js)はデフォルトの3000番に戻して、nginxでプロキシすることにした。

https://docs.requarks.io/install/linuxRun as serviceをやりたかった。 ホームディレクトリに展開していたwikiを/var/にmvして、sqliteのデータファイルのパスも変更、ファイルのパーミッションをまとめてnobodyに変更。

$ cd ~
$ mv wiki /var/
$ sudo chown -R nobody /var/wiki
$ sudo vim /var/wiki/config.yml

nginxのインストールと設定

$ sudo apt install nginx
$ sudo vim /etc/nginx/conf.d/default.conf

default.confの内容

server {
        listen 80 default_server;
        server_name _;
        location / {
                proxy_pass http://127.0.0.1:3000;
        }
}

nginx再起動

$ sudo systemctl restart nginx

これで起動しない。/var/log/nginx/error.logをみると、以下のエラーが。

a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:22

/etc/nginx/sites-enabled/defaultと衝突していると。なので、/etc/nginx/sites-enabled/defaultを削除。/etc/nginx/sites-available/defaultと同じ中身なので、躊躇なく削除して問題ない。

その後nginxを再起動すると、無事wikiが表示された。