※mkcertを使ってローカル環境もHTTPS化しているため、HTTPの場合のエラーメッセージは a duplicate default server for 0.0.0.0:80
になります。
mkcertのセットアップ手順はこちらの記事を参照して下さい。
結論
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
confファイル、serverセクションのdefault_server
が重複していないか確認。
経緯
久々に開発環境に新規サイト(C)の追加。
開発サーバーでWebルートフォルダ(/home/www/C/)を作成。
既存サイト(A)の設定ファイル、/etc/nginx/conf.d/A.conf を /etc/nginx/conf.d/C.conf にコピー。
/etc/nginx/conf.d/C.confの中で、server_nameとrootをAからCに書き換え。HTTPS化しているので、ssl_certificateとssl_certificate_keyもC用に作成した鍵ファイルを指定。
systemctl restart nginx
をすると
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
コピー元にしたファイルAが、デフォルトサーバー設定が入ったものだったので、C.confからdefault_serverを削除して無事起動。
コメント