在“nginx”上提供静态媒体

在“nginx”上提供静态媒体

我的 django 应用程序托管在 Apache 上,现在我想通过 nginx 提供其静态媒体,我之前没有任何使用 nginx 的经验...而且目前静态媒体是通过 Apache 提供的...希望得到一些帮助。

Apache 2.2 mod_wsgi nignx-0.7.65 Django 1.1.1

谢谢..

答案1

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

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

如果您可以提出一些更具体的问题,我可以帮助您解答。

更新

查看Apache ProxyPassReverse 的 Nginx 解决方案有关反向代理的示例。如需更详细的示例,您可以直接询问,我会发布它。

更好的:使用 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;
  }
 }

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

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

答案2

相关内容