首页 > 编程 > Python > 正文

在Lighttpd服务器中运行Django应用的方法

2020-01-04 18:00:21
字体:
来源:转载
供稿:网友

这篇文章主要介绍了在Lighttpd服务器中运行Django应用的方法,本文所采用的是最流行的FastCGI模块,包括同时运行多个Django应用的方法,需要的朋友可以参考下

lighttpd (http://www.djangoproject.com/r/lighttpd/) 是一个轻量级的Web服务器,通常被用来提供静态页面的访问。 它天生支持FastCGI,因此除非你的站点需要一些Apache特有的特性,否则,lighttpd对于静态和动态页面来说都是理想的选择。

确保 mod_fastcgi 在模块列表中,它需要出现在 mod_rewrite 和 mod_access ,但是要在 mod_accesslog 之前。

将下面的内容添加到你的lighttpd的配置文件中:

 

 
  1. server.document-root = "/home/user/public_html" 
  2. fastcgi.server = ( 
  3. "/mysite.fcgi" => ( 
  4. "main" => ( 
  5. # Use host / port instead of socket for TCP fastcgi 
  6. # "host" => "127.0.0.1", 
  7. # "port" => 3033, 
  8. "socket" => "/home/user/mysite.sock"
  9. "check-local" => "disable"
  10. ), 
  11. alias.url = ( 
  12. "/media/" => "/home/user/django/contrib/admin/media/"
  13.  
  14. url.rewrite-once = ( 
  15. "^(/media.*)$" => "$1"
  16. "^/favicon/.ico$" => "/media/favicon.ico"
  17. "^(/.*)$" => "/mysite.fcgi$1"

在一个lighttpd进程中运行多个Django站点

lighttpd允许你使用条件配置来为每个站点分别提供设置。 为了支持FastCGI的多站点,只需要在FastCGI的配置文件中,为每个站点分别建立条件配置项:

 

 
  1. # If the hostname is 'www.example1.com'... 
  2. $HTTP["host"] == "www.example1.com" { 
  3. server.document-root = "/foo/site1" 
  4. fastcgi.server = ( 
  5. ... 
  6. ... 
  7.  
  8. # If the hostname is 'www.example2.com'... 
  9. $HTTP["host"] == "www.example2.com" { 
  10. server.document-root = "/foo/site2" 
  11. fastcgi.server = ( 
  12. ... 
  13. ... 

你也可以通过 fastcgi.server 中指定多个入口,在同一个站点上实现多个Django安装。 请为每一个安装指定一个FastCGI主机。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表