在“nginx”上提供静态媒体

我的django应用程序托pipe在Apache上,现在我想通过nginx为其静态媒体服务,在nginx中我没有任何先前的经验…加上目前静态媒体是通过Apache服务的……期待一些帮助。

Apache 2.2 mod_wsgi nignx-0.7.65 Django 1.1.1

谢谢..

你能告诉我你到现在为止做了什么吗? 您必须安装nginx并将apache设置为反向代理。 您需要将Apache监听的端口更改为8080,nginx将监听端口80。

静态媒体的请求将直接从磁盘传送,其他文件将被redirect到端口8080到apache。

如果你能问一些更具体的问题,我可以帮你。

更新

查看Apache ProxyPassReverse的Nginx解决scheme,了解有关反向代理的示例。 对于更详细的例子,你可以问,我会发布它。

更好: 使用Nginx作为反向代理来充分利用您的VPS

更新

我的一个子域的nginx.conf部分看起来像这样:

server { listen 80; server_name domain.nl www.domain.nl ; error_log /var/www/vhosts/domain.nl/statistics/logs/error_log.nginx warn; location / { proxy_pass http://www.domain.nl:8080$request_uri; include /etc/nginx/proxy.conf; } location ~* ^.+\.(jpg|jpeg|gif|png|css|bmp|js|ico|swf)$ { root /var/www/vhosts/domain.nl/httpdocs; expires 7d; } } 

这听取端口80的domain.nl和www.domain.nl。 当收到非静态文件的请求时,请求被传递到端口8080 http://www.domain.nl:8080 $ request_ur。

当发现静态文件的请求jpg等。这是直接从磁盘/var/www/vhosts/domain.nl/httpdocs,我的网站存储位置。