Spec-Zone.ru › Werkzeug 3.0

nginx

nginx — это быстрый HTTP-сервер, предназначенный для работы в производственной среде. При обслуживании вашего приложения с помощью одного из WSGI-серверов, перечисленных в Развертывание в продакшене, часто бывает полезно или необходимо разместить перед ним выделенный HTTP-сервер. Этот «обратный прокси» может лучше обрабатывать входящие запросы, TLS и другие вопросы безопасности и производительности, чем WSGI-сервер.

Nginx можно установить с помощью менеджера пакетов вашей системы или предварительно скомпилированного исполняемого файла для Windows. Установка и запуск самого Nginx не входит в область действия этого документа. Эта страница описывает основы настройки Nginx для проксирования вашего приложения. Обязательно ознакомьтесь с его документацией, чтобы понять, какие функции доступны.

Имя домена

Получение и настройка имени домена не входит в область действия этого документа. В общем случае вы покупаете доменное имя у регистратора, оплачиваете серверное пространство у хостингового провайдера, а затем указываете регистратору DNS-серверы хостингового провайдера.

Для имитации этого вы также можете отредактировать файл hosts , расположенный по адресу /etc/hosts в Linux. Добавьте строку, которая связывает имя с локальным IP-адресом.

Современные системы Linux могут быть настроены так, чтобы рассматривать любое доменное имя, заканчивающееся на .localhost, подобным образом, без добавления его в файл hosts.

/etc/hosts
127.0.0.1 hello.localhost

Настройка

Файл конфигурации nginx расположен по адресу /etc/nginx/nginx.conf в Linux. Он может отличаться в зависимости от вашей операционной системы. Проверьте документацию и найдите nginx.conf.

Удалите или закомментируйте любой существующий раздел server. Добавьте раздел server и используйте директиву proxy_pass для указания адреса, на котором прослушивает WSGI-сервер. Предположим, что WSGI-сервер прослушивает на локальном адресе http://127.0.0.1:8000.

/etc/nginx.conf
server {
    listen 80;
    server_name _;

    location / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Prefix /;
    }
}

Затем Укажите Werkzeug, что он находится за прокси, чтобы ваше приложение использовало эти заголовки.

Статические файлы

Если ваше приложение имеет статические файлы, такие как JavaScript, CSS и изображения, будет эффективнее позволить Nginx обслуживать их напрямую, а не пропускать их через Python-приложение.

Предполагая, что статические файлы должны быть доступны по URL /static/ и хранятся по адресу /home/project/static/, добавьте следующее в раздел server выше.

location /static {
    alias /home/project/static;
}

© 2007 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/3.0.x/deployment/nginx/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API