Ошибка nginx a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled

Рейтинг: 0Ответов: 1Опубликовано: 03.07.2023

Добого времени суток.

Настраиваю vps под проект на nuxt3. Проект билдится и запущен при помощи pm2 на 3000 порту.

Но с nginx я что-то упутил, потому что в логах наблюдаю следущую ошибку (домен изменен):

cat /var/log/nginx/error.log

2023/07/02 13:38:42 [emerg] 39368#39368: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/test-site.com:22
2023/07/02 13:39:27 [emerg] 39388#39388: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/test-site.com:22
2023/07/02 13:43:48 [warn] 39409#39409: conflicting server name "test-site.com" on 0.0.0.0:80, ignored
2023/07/02 13:59:05 [emerg] 44145#44145: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/test-site.com:22
2023/07/03 11:55:09 [notice] 55384#55384: signal process started
2023/07/03 11:57:21 [emerg] 55420#55420: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/test-site.com:22
2023/07/03 11:58:04 [emerg] 55428#55428: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/test-site.com:22

При настройке nginx выполнял следущее:

Настроил конфиг, который предлагает сам nuxt https://v2.nuxt.com/deployments/nginx/ в /etc/nginx/sites-available/test-site.com:

map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {
    listen          80;             # the port nginx is listening on
    server_name     test-site.com www.test-site.com;    # setup your domain here

    gzip            on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_min_length 1000;

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:3000; # set the address of the Node.js instance here
    }
}

выполнил ln -s /etc/nginx/sites-available/test-site.com /etc/nginx/sites-enabled

перезапустил nginx.

Получил ошибку a duplicate default server for 0.0.0.0:80

grep -R default_server /etc/nginx // просмотр дефолтного сервера

/etc/nginx/sites-available/default: listen 80 default_server;
/etc/nginx/sites-available/default: listen [::]:80 default_server;
/etc/nginx/sites-available/default: # listen 443 ssl default_server;
/etc/nginx/sites-available/default: # listen [::]:443 ssl default_server;
/etc/nginx/sites-enabled/default:   listen 80 default_server;
/etc/nginx/sites-enabled/default:   listen [::]:80 default_server;
/etc/nginx/sites-enabled/default:   # listen 443 ssl default_server;
/etc/nginx/sites-enabled/default:   # listen [::]:443 ssl default_server;


Не очень понятно, что нужно сделать. Буду признателен за помощь.

Ответы

▲ 0Принят

Попробуйте удалить файл default в папках sites-available и sites-enabled. После этого перезапустите Nginx:

sudo systemctl restart nginx