为什么静态内容请求要到uwsgi?
Why is static content request going to uwsgi?
我正在设置我的 Django 项目以使用 uwsgi 和 nginx。对于静态内容,我的 nginx.conf 中有以下内容:
location /static {
alias /Users/me/mystatic; # your Django project's static files - amend as required
}
我已将 STATIC_ROOT
设置为 /Users/me/mystatic
并调用 collectstatic
将所有静态文件复制到该目录中。在我的 uwsgi 日志中,我看到了对静态内容的 GET 请求。既然 nginx 应该提供静态内容,为什么 GET 请求发送到 uwsgi?
确保 STATIC_URL
设置为 "/static/"
。
nginx conf 应如下所示:
server {
listen 80 ;
server_name XXXX;
client_max_body_size 4G;
location /static/ {
alias <path-to-collectstatic>
}
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi_web.sock;
}
}
注意 static
在 location
块中附加 /
最后,确保应用服务器 运行 DEBUG
as False
问题是我将自己的 nginx.conf 放在 /usr/local/etc/nginx/sites-enabled
中,而不是 /usr/local/etc/nginx/servers
。在/usr/local/etc/nginx/nginx.conf
中,include servers/*;
在最后。因此,UWSGI 仍在为静态文件提供服务。我遵循 django-nginx-uwsgi tutorial,我假设我必须创建一个新的 sites-enabled
目录。我正在使用 OS X.
我在 Linux 上看到了,不过,/etc/nginx/nginx.conf
在末尾包含 include /etc/nginx/sites-enabled/*;
,因此本教程中的步骤适用于 Linux。
/static
末尾的额外 /
没有什么区别,但将它放在所有路径的末尾也无妨。
我正在设置我的 Django 项目以使用 uwsgi 和 nginx。对于静态内容,我的 nginx.conf 中有以下内容:
location /static {
alias /Users/me/mystatic; # your Django project's static files - amend as required
}
我已将 STATIC_ROOT
设置为 /Users/me/mystatic
并调用 collectstatic
将所有静态文件复制到该目录中。在我的 uwsgi 日志中,我看到了对静态内容的 GET 请求。既然 nginx 应该提供静态内容,为什么 GET 请求发送到 uwsgi?
确保 STATIC_URL
设置为 "/static/"
。
nginx conf 应如下所示:
server {
listen 80 ;
server_name XXXX;
client_max_body_size 4G;
location /static/ {
alias <path-to-collectstatic>
}
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi_web.sock;
}
}
注意 static
location
块中附加 /
最后,确保应用服务器 运行 DEBUG
as False
问题是我将自己的 nginx.conf 放在 /usr/local/etc/nginx/sites-enabled
中,而不是 /usr/local/etc/nginx/servers
。在/usr/local/etc/nginx/nginx.conf
中,include servers/*;
在最后。因此,UWSGI 仍在为静态文件提供服务。我遵循 django-nginx-uwsgi tutorial,我假设我必须创建一个新的 sites-enabled
目录。我正在使用 OS X.
我在 Linux 上看到了,不过,/etc/nginx/nginx.conf
在末尾包含 include /etc/nginx/sites-enabled/*;
,因此本教程中的步骤适用于 Linux。
/static
末尾的额外 /
没有什么区别,但将它放在所有路径的末尾也无妨。