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直接向上提供文件根本没有.我怎么出错了?
这个问题在这里得到了很多询问......
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
不会将位置附加到它.它一对一地按原样映射.
归档时间: |
|
查看次数: |
3383 次 |
最近记录: |