Nginx uWSGI связывает имя_сервера с доменом для приложения flask

#nginx #flask #dns #uwsgi #ubuntu-20.04

#nginx #flask #dns #uwsgi #ubuntu-20.04

Вопрос:

Я написал веб-сайт Flask, который я разместил с помощью waitress на сервере виртуальной машины Ubuntu 20.04 на порту 5000, но теперь я хотел бы сделать это более корректно с помощью uWSGI / Nginx.

Чтобы изучить uWSGI / Nginx, я следую этому руководству: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-20-04

Здесь, на шаге 6, он сообщает мне настроить Nginx следующим образом:

 server {
    listen 80;
    server_name my_domain www.my_domain;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/sammy/myproject/myproject.sock;
    }
}
  

Однако, если я теперь запрашиваю веб-страницу для своего домена, она возвращает только страницу Nginx по умолчанию.
Но если я «жестко закодирую» общедоступный IP-адрес моего сервера в имя_сервера:

 server_name: my_domain www.my_domain MY_IP 
  

Затем он показывает правильную страницу. Однако у меня такое чувство, что это не предполагаемый способ настройки сервера.

Когда я использовал старый сервер официантки, я сказал своему DNS-серверу перенаправить на http://MY_IP:5000/ , но теперь он настроен на перенаправление http://MY_IP/ . (с режимом перенаправления 302)

Итак, мой вопрос в том, как мне настроить перенаправление моего доменного имени или конфигурацию Nginx, чтобы она работала без «жестко заданного» IP-адреса? Или это что-то, где мне просто нужно подождать 48 часов для распространения обновления DNS?

Также вспомогательный вопрос, связанный с этим, как мне сделать так, чтобы в строке URL-адреса браузера отображалось имя домена вместо IP-адреса?

Заранее спасибо!

Ответ №1:

Вы можете просмотреть мой ответ, надеюсь, он вам тоже поможет

Что касается вашего вопроса об имени URL-адреса в браузере, он появится, как только DNS-имя будет правильно распространено, и это не должно занять более 5-10 минут.

Удалите IP-адрес из имени сервера, его не следует вводить там.