2011-05-03 67 views
0

我有许多PHP站点在Apache上运行,但是我即将启动我的第一个Django站点。 我已经成功地获得了WSGI在Apache上处理Python脚本的工作,但我有点用Nginx来服务我的媒体文件。使用Nginx和Apache为Web应用程序服务

我知道我需要让Apache不同的端口上侦听,并得到Nginx的侦听端口80,然后向前端口8080上

我真正想知道的是所有非媒体请求到Apache,有没有简单的方法来配置它与我所有的现有网站一起工作,还是我需要为每个当前网站设置一个单独的记录,然后将请求转发到端口8080?

任何意见赞赏。

感谢

+0

你真的需要使用Nginx吗? Apache也可以提供媒体文件。 – 2011-05-03 10:27:17

+0

我不需要,但我试图按照文档中的推荐指导 – Dan 2011-05-03 10:37:33

+0

您是否正在使用nginx作为apache的逆向代理或仅仅作为媒体服务器? – 2011-05-03 13:07:42

回答

1

如果向下滚动在Django documentation about serving static files一点,他们给你如何让Apache服务的文件你,让你不需要nginx的信息(假设你的媒体文件在/usr/local/wsgi/static/media/ ):

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> 

但是,如果你是死心塌地使用nginx的,你会增加你的静态指令在server {}指令:

location /media/ { 
    access_log off; # who cares about static files? 
    alias /usr/local/wsgi/static/media/; 
    expires 30d; # enables caching. 
} 
相关问题