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

yipeiwu_com7年前服务器

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

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

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

server.document-root = "/home/user/public_html"
fastcgi.server = (
 "/mysite.fcgi" => (
  "main" => (
   # Use host / port instead of socket for TCP fastcgi
   # "host" => "127.0.0.1",
   # "port" => 3033,
   "socket" => "/home/user/mysite.sock",
   "check-local" => "disable",
  )
 ),
)
alias.url = (
 "/media/" => "/home/user/django/contrib/admin/media/",
)

url.rewrite-once = (
 "^(/media.*)$" => "$1",
 "^/favicon\.ico$" => "/media/favicon.ico",
 "^(/.*)$" => "/mysite.fcgi$1",
)

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

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

# If the hostname is 'www.example1.com'...
$HTTP["host"] == "www.example1.com" {
 server.document-root = "/foo/site1"
 fastcgi.server = (
  ...
 )
 ...
}

# If the hostname is 'www.example2.com'...
$HTTP["host"] == "www.example2.com" {
 server.document-root = "/foo/site2"
 fastcgi.server = (
  ...
 )
 ...
}

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

 

相关文章

开启CURL扩展,让服务器支持PHP curl函数(远程采集)

curl()、file_get_contents()、snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比...

使用Python实现简单的服务器功能

socket接口是实际上是操作系统提供的系统调用。socket的使用并不局限于Python语言,你可以用C或者Java来写出同样的socket服务器,而所有语言使用socket的方式都类...

高性能web服务器框架Tornado简单实现restful接口及开发实例

高性能web服务器框架Tornado简单实现restful接口及开发实例

有个朋友让我搞搞tornado框架,说实话,这个框架我用的不多。。。 我就把自己的一些个运维研发相关的例子,分享给大家。 怎么安装tornado,我想大家都懂。 pip inst...

在Linux系统的服务器上隐藏PHP版本号的方法

通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP。PHP 是如今流行的服务端html嵌入式语言(之一?)。在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端...

在Windows服务器下用Apache和mod_wsgi配置Python应用的教程

最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。 修改pyth...