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

yipeiwu_com6年前服务器

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主机。

 

相关文章

用Python实现服务器中只重载被修改的进程的方法

现在,我们已经把一个Web App的框架完全搭建好了,从后端的API到前端的MVVM,流程已经跑通了。 在继续工作前,注意到每次修改Python代码,都必须在命令行先Ctrl-C停止服务...

在Apache服务器上同时运行多个Django程序的方法

在同一个 Apache 实例中运行多个 Django 程序是完全可能的。 当你是一个独立的 Web 开发人员并有多个不同的客户时,你可能会想这么做。 只要像下面这样使用 VirtualH...

Python Web程序搭建简单的Web服务器

Python Web程序搭建简单的Web服务器

上一篇讲了《Python入门》Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序——简单的Web服...

Python中使用Flask、MongoDB搭建简易图片服务器

1、前期准备 通过 pip 或 easy_install 安装了 pymongo 之后, 就能通过 Python 调教 mongodb 了. 接着安装个 flask 用来当 web 服务...

Pycharm保存不能自动同步到远程服务器的解决方法

Pycharm保存不能自动同步到远程服务器的解决方法

Deployment已经设置了远程服务,Pycharm也已经取消自动保存,确保Ctrl+S可以触发,可是依旧不能自动同步到远程服务器。捣鼓了半天发现在Delployment的mappin...