nginx を gunicorn と一緒に動作させようとしています。/project/static/
静的ファイルがあるディレクトリがあります。これらのファイルは、次の構成/project/livestatic/
を使用してディレクトリに収集されます。settings.py
STATIC_ROOT = '/project/livestatic'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
'/project/static',
)
次の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;
}
}
}
開発サーバー (nginx を無視) の下では、この構成は正常に機能し、形式でリンクすることで静的ファイルを提供できます/static/file.extension
。ただし、nginx/gunicorn が登場した瞬間、これは機能せず、アクセスしようとするとdomain.org/static/
django 404 ページが表示され、nginx がファイルをまったく提供していないことが示されます。どうやって間違ったの?