nginx работа с ip, но не с именем домена - PullRequest
1 голос
/ 22 января 2020

Я пытаюсь настроить приложение django с gunicorn и ngix. Я следовал этому уроку . Кажется, все работает, но когда я изменяю имя_сервера в / etc / nginx / sites-available / project на что-либо, кроме IP-адреса serevr, я получаю индексную страницу nginx по умолчанию вместо приложения django. Когда это конфигурация сервера:

server {
listen 80;
server_name <myserverip>;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /home/django/project;
}

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

все работает как положено (nginx обслуживает приложение), когда я помещаю IP-адрес в браузер, но если я добавляю доменное имя вместо IP-адреса или в дополнение к ip все, что я получаю, это nginx страница в любом месте. Мой ALLOWED_HOSTS в settings.py включает в себя IP-адрес сервера и доменное имя. Я также не вижу проблем в журналах nginx. Не уверен, что проблема в этом пункте.

Ответы [ 3 ]

2 голосов
/ 22 января 2020

В server_name вы можете написать IP или URL, но в то же время в вашем файле settings.py вы должны дать ему разрешение.

[settings.py]

ALLOWED_HOSTS = ['IP', 'URL']

Здесь Я загрузил на свой github что-то, что может вам помочь:

Github / Nginx

1 голос
/ 22 января 2020

Вы должны иметь возможность изменить имя_сервера, чтобы включить ваш домен:

server_name <myserverip> <mydomainname>;

Не стесняйтесь отбрасывать IP-адрес, если вы только хотите иметь доступ к сайту, используя ваше доменное имя. Вы также захотите добавить любые субдомены (например, www), которые хотите обслуживать тот же сайт. Например:

server_name youdomainname.com www.yourdomainname.com;

Не забудьте перезапустить nginx после обновления файла конфигурации.

0 голосов
/ 23 января 2020

Я решил проблему. Конфигурация nginx по умолчанию / etc / nginx / sites-available / default была моей. Я закомментировал серверную часть конфигурации по умолчанию, и домен работает как положено.

...