如何配置lighttpd来提供django静态文件?

时间:2018-05-18 21:33:54

标签: django gunicorn lighttpd

我有一个用Django 2.0.5制作的Web应用程序,安装在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 :(得分:0)

根据描述,听起来lighttpd正在端口80上运行,而gunicorn在端口8001上运行。如果gunicorn正在创建引用端口8001的内容,那么客户端将直接连接到gunicorn(如果gunicorn正在侦听*: 8001而不是127.0.0.1:8001)并将绕过lighttpd,因此lighttpd永远不会看到它。您应该更喜欢使用根相对链接(从url-path开始)。

答案 1 :(得分:0)

我明白问题出在哪里。配置是正确的,但我忘了包含" mod_proxy"在server.modules中。 添加模块(并重新启动lighttpd)后一切正常。 我希望它对某人有用。