Назад | Перейти на главную страницу

Создание поддомена с серверным блоком nginx возвращает сервер не найден

это проблема, которую я не могу решить.

У меня есть VPS на DigitalOcean, я установил на него вручную стек LEMP и у меня есть домен с hover.com.

Кажется, все работает, если вы посетите мой сервер сайт. Но я пытаюсь настроить две вещи, которые просто не работают.

Во-первых, я пытаюсь настроить новый поддомен (blog.erzei.net), но когда я пытаюсь получить доступ к адресу в браузере (любом), он возвращает Not Found. Даже если я попробую

 curl -I blog.erzei.net

он возвращает «Не удалось разрешить хост», хотя erzei.net работает нормально. Я не знаю, связано ли это с регистратором домена или это проблема конфигурации nginx. Насколько мне сообщили в службе поддержки Hover, любые перенаправления, которые я настраиваю из регистратора, не будут работать, потому что я использую DNS от DigitalOcean. Итак, я думаю, что я должен настраивать каждый новый поддомен из моей конфигурации nginx.

Код серверного блока следующий, он находится после основного блока в конфигурационном файле по умолчанию для сайтов-доступных:

server {
    listen 80;

    server_name blog.erzei.net;

    root /example/directory.net;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ =404;
    }
}

Основной блок для сервера:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /main/directory.net

    index index.php index.html index.htm;

    server_name erzei.net www.erzei.net;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            #try_files $uri $uri/ =404;
            try_files $uri $uri/ /index.html;
    }

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
            root /var/www/html;
    }
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

Вторая проблема заключается в том, что перенаправление с www на не-www также не работает. Возможно, это связано с моей первой проблемой. Если я наберу www.erzei.net, я получу в браузере ответ «Сервер не найден». Конфигурация, опять же, находится в моем конфигурационном файле по умолчанию nginx.

server {
    server_name www.erzei.net;
    return 301 $scheme://erzei.net$request_uri;
}

Я много исследовал в официальных документах nginx, вики, форуме DigitalOcean и здесь. Может кто-нибудь помочь мне? Спасибо.

Как упоминалось в комментарии к вопросу, мне нужно было отредактировать некоторые записи DNS в DigitalOcean, а не в администрации регистратора.

Кажется, я пропустил эту ссылку во время своего исследования, надеюсь, она поможет другим людям.

https://www.digitalocean.com/community/tutorials/how-to-set-up-and-test-dns-subdomains-with-digitalocean-s-dns-panel