приложение django nginx gunicorn, отображающее страницу apache2 по умолчанию — только по ip-запросу, а не по доменному имени

#django #nginx #gunicorn

Вопрос:

Очень странное поведение с моего сервера Ubuntu 18.04 LTS

Я следовал этому уроку здесь (дважды), и все работает правильно, за исключением пары странных вещей

во-первых, когда я использую свой браузер для посещения IP-адреса моего VPS, страница приложения django по умолчанию отображается на протяжении всего урока, однако доступ к ней через доменное имя приводит к ошибке тайм-аута

во-вторых, теперь, когда я закончил учебник и настроил nginx для передачи прокси-сервера gunicorn, страница по умолчанию ubuntu apache2 теперь отображается вместо страницы по умолчанию django при посещении ip-адреса и по-прежнему не получает ответа от доменного имени, даже если на этом сервере нет установки apache2…

 $ whereis apache2
apache2:
 

вот мое gunicorn.socket досье

 [Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target
 

вот мое gunicorn.service досье

 [Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=trends
Group=www-data
WorkingDirectory=/trends_dir
ExecStart=/trends_dir/trendsvenv/bin/gunicorn 
          --access-logfile - 
          --workers 3 
          --bind unix:/run/gunicorn.sock 
          trends.wsgi:application

[Install]
WantedBy=multi-user.target
 

вот мой /etc/nginx/sites-available конфигурационный файл для сайта, который был должным образом символически связан с /etc/nginx/sites-enabled

 server {
    listen 80;
    server_name www.trendsontheblock.com trendsontheblock.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /trends_dir;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}
 

как я уже сказал, никаких ошибок с IP-адреса и не могу получить ответ от доменного имени, любая помощь была бы очень признательна, спасибо

Комментарии:

1. Вы уверены, что домен, вероятно, сопоставлен с IP-адресом?

2. @MohamedElKalioby ping это привело меня к тому, что я увидел, что это не правильный ip, но почему тогда я ssh обращаюсь к этому ip, и браузер реагирует на изменения, внесенные на сервере с этого ip, который я использовал для его тестирования?

3. Поскольку вы используете IP, так что все в порядке, проблема заключается в сопоставлении домена и ip.

4. @MohamedElKalioby спасибо, я свяжусь со службой поддержки моего хостинга и найду решение

5. @MohamedElKalioby хорошо, поэтому я обновил свой трек, чтобы быть встроенным в новый ip-адрес, недавно возникла проблема из-за того, что я недавно переключился с общего хостинга на vps, однако посещение моего сайта по доменному имени все еще не дает ответа, и по-прежнему существует проблема страницы по умолчанию apache2 при посещении ip-адреса, когда на vps нет apache2

Ответ №1:

Как указал Мохамед в разделе комментариев, ошибка произошла из-за неправильного сопоставления ip-доменов, вызванного несогласованным значением записи A в службе хостинга моих доменных имен (godaddy)

Это было связано с тем, что я переключился с общего хостинга на VPS, и поэтому значения сервера имен доменного имени стали несовместимыми

Сервер доменных имен необходимо было сбросить до значений хоста по умолчанию, и его запись была обновлена до IP-адреса нового сервера VPS, что решило мою проблему