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

Использование IP-адреса в Nginx имя_сервера I Django

Я использую django, uwsgi и nginx. Я пробовал документацию nginx и django для обслуживания статических файлов. Мой файл conf:

http {


upstream django {
    server 127.0.0.1:8000;
}

server {
    listen 80;
    server_name 192.xx.xx.x;

    root /path/to/project/;


    location /static/  {
        alias /path/to/static/;
    }

    location / {
        include /etc/nginx/uwsgi_params;
        uwsgi_pass django;

        uwsgi_param Host $host;
        uwsgi_param X-Real-IP $remote_addr;
        uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
        uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
    }
}
}

Верен ли мой файл конфигурации? Могу ли я использовать IP-адрес в server_name раздел? (IP-адрес - это IP-адрес моей машины)

Да, вы можете изменить имя сервера в качестве IP-адреса компьютера для обслуживания приложения django, дополнительные усилия заключаются в том, что вам необходимо назначить переменную хоста в качестве IP-адреса в файле settings.py вашего приложения.

За https://nginx.org/en/docs/http/ngx_http_core_module.html#server:

Нет четкого разделения между виртуальными серверами на основе IP (на основе IP-адреса) и на основе имен (на основе поля заголовка запроса «Хост»). Вместо этого директивы listen описывают все адреса и порты, которые должны принимать соединения для сервера, а директива server_name перечисляет все имена серверов.

Обзор того, как nginx обрабатывает запросы, можно найти на https://nginx.org/en/docs/http/request_processing.html, а обзор обслуживания статического контента можно найти здесь: https://www.nginx.com/resources/admin-guide/serving-static-content/.

Я не вижу в вашей конфигурации ничего, что могло бы помешать работе - вы тестировали свою конфигурацию и сталкивались с какими-либо проблемами?