4

我正在寻找一个简单的配置来为特定文件夹中的所有文件和目录提供服务。

更准确地说,我试图为 pinax/static_media/文件夹和/media/文件夹中的所有内容提供相同的 url,最好是自动索引所有内容。

顺便说一句,我已经运行了python manage.py build_media --all,所以所有静态内容都在<project_name>/site_media/static

我正在使用的当前配置:

server {
    listen   80;
    server_name  QuadraPaper;

    access_log  /home/gdev/Projects/QuardaPaper/access_log.log;

    location ^*/site_media/*$
    {
        autoindex on;
        access_log off;
        root /home/gdev/Projects/QuardaPaper/site_media;
    }

    location /media/ {
        autoindex on;
        root   /home/gdev/Projects/QuardaPaper/media/;
    }

例如,来自各个站点的所有不同配置说明真的让我感到困惑。

如何使用 NGINX 直接提供所有现有的静态文件,但将其余的代理到后端服务器。

http://coffeecode.net/archives/200-Using-nginx-to-serve-static-content-with-Evergreen.html

https://serverfault.com/q/46315/91723

http://wiki.nginx.org/Pitfalls

http://pinaxproject.com/docs/0.7/media/#ref-media-devel

环境信息:

  • 在 VirtualBox 上运行的 Xubuntu 10.04
  • nginx 1.1.4
  • 皮纳克斯 0.72
  • django 1.0.4
  • 通过 nginx 运行 django 的 fastcgi
4

1 回答 1

7

我找到了答案,正如我猜想的那样很简单。必须设置一次根目录并使用子目录作为位置

server {
    listen   80;
    server_name  QuadraPaper;

    access_log  /home/gdev/Projects/QuardaPaper/access_log.log;
    root /home/gdev/Projects/QuardaPaper;

    location /site_media/ {
        autoindex on;
        access_log off;
    }

    location /media/ {
        autoindex on;
    }
}

我从

Nginx 不提供静态服务

于 2011-10-09T15:50:26.227 回答