使用Nginx和Apache来提供Web应用程序

时间:2011-05-03 10:01:19

标签: django apache nginx wsgi

我在Apache上运行了许多PHP站点,但是我即将启动我的第一个Django站点。 我已经成功地让WSGI在Apache上处理Python脚本,但我有点不习惯使用Nginx来处理我的媒体文件。

我知道我需要让Apache在不同的端口上侦听并让Nginx在端口80上侦听,然后在端口8080上将任何非媒体请求转发给Apache。

我真正想知道的是,是否有一种简单的方法可以将其配置为与我现有的所有网站配合使用,或者我是否需要为每个当前网站设置单独的记录,以便将请求转发给8080港口?

任何建议表示赞赏。

由于

1 个答案:

答案 0 :(得分:1)

如果向下滚动Django documentation about serving static files中的一些内容,它们会为您提供有关如何让Apache为您提供文件的信息,以便您不需要nginx(假设您的媒体文件位于{{1} }}):

/usr/local/wsgi/static/media/

但是,如果你没有使用nginx,你可以在Alias /robots.txt /usr/local/wsgi/static/robots.txt Alias /favicon.ico /usr/local/wsgi/static/favicon.ico AliasMatch ^/([^/]*\.css) /usr/local/wsgi/static/styles/$1 Alias /media/ /usr/local/wsgi/static/media/ <Directory /usr/local/wsgi/static> Order deny,allow Allow from all </Directory> WSGIScriptAlias / /usr/local/wsgi/scripts/django.wsgi <Directory /usr/local/wsgi/scripts> Order allow,deny Allow from all </Directory> 指令中添加静态指令:

server {}