无法获取nginx来提供收集的静态文件

Ran*_* Ma 1 django nginx static-files gunicorn

我想让nginx和gunicorn一起工作.我有一个/project/static/静态文件所在的目录./project/livestatic/使用显示的settings.py配置将这些文件收集到目录中:

STATIC_ROOT = '/project/livestatic'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    '/project/static',
)
Run Code Online (Sandbox Code Playgroud)

我正在使用以下nginx配置:

worker_processes 1;
user nobody nogroup;
pid /tmp/nginx.pid;
error_log /tmp/nginx.error.log;

events {
    worker_connections 1024;
    accept_mutex off;
}

http {
    include mime.types;
    default_type application/octet-stream;
    access_log /tmp/nginx.access.log combined;
    sendfile on;

    upstream app_server {
        server 127.0.0.1 fail_timeout=0;
    }

    server {
        listen 80 default;
        client_max_body_size 4G;
        server_name domain.org;

        keepalive_timeout 5;

        # path for static files
        location /static/ {
            autoindex on;
            root /var/www/startupsearch_live/livestatic/;
        }

        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_redirect off;

            proxy_pass   http://127.0.0.1:8888;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在开发服务器(忽略nginx)下,此配置工作正常,我可以通过以格式链接到它们来提供静态文件/static/file.extension.然而,当nginx/gunicorn发挥作用时,这不起作用,并且尝试访问domain.org/static/给出了django 404页面,表示nginx直接向上提供文件根本没有.我怎么出错了?

jdi*_*jdi 7

这个问题在这里得到了很多询问......

location /static/ {
    alias /var/www/startupsearch_live/livestatic/;
}
Run Code Online (Sandbox Code Playgroud)

使用它root的方式将提出/static/foo.jpg解决请求/var/www/startupsearch_live/livestatic/static/foo.jpg

alias不会将位置附加到它.它一对一地按原样映射.