我的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,我的网站存储位置。