Как настроить lighttpd для обслуживания статических файлов django? - PullRequest
0 голосов
/ 19 мая 2018

У меня есть веб-приложение, созданное с помощью Django 2.0.5, установленное в виртуальной среде на Debian 9, на котором я установил Gunicorn и lighttpd.Я установил свое веб-приложение в / opt / djangoproject / mywebapp.Я настроил lighttpd, добавив эти строки в свой lighttpd.conf

$HTTP["url"] !~ "/static" {
proxy.server = ( "" => ( (
"host" => "192.168.1.15", 
"port" => 8001
) ) )
}

alias.url = ( "/static/" => "/opt/djangoproject/mywebapp/mystaticfiles" )

Проблема в том, что псевдоним работает только на порту 80, а не на 8001.

Обновление: Я забыл указать, что:

  • Gunicorn работает только на 192.168.1.15:8001 (с этим статическим ip)
  • Lighttpd работает на порту 80 (порт по умолчанию)
  • Debian установлен на сервере, к которому я должен подключиться с каждого устройства, подключенного к той же сети

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Я понял, где проблема.Конфигурация была правильной, но я забыл включить "mod_proxy" в server.modules.После добавления модуля (и перезапуска lighttpd) все заработало.Надеюсь это кому-нибудь пригодится.

0 голосов
/ 20 мая 2018

Исходя из описания, похоже, что lighttpd работает на порте 80, а gunicorn на порте 8001. Если gunicorn создает контент, относящийся к порту 8001, клиент подключится напрямую к gunicorn (если gunicorn прослушивает *:8001 вместо 127.0.0.1:8001) и будет обходить lighttpd, поэтому lighttpd никогда его не увидит.Вы должны использовать корневые ссылки (начиная с / в URL-пути).

...