【发布时间】:2014-06-24 01:21:07
【问题描述】:
我有一个用于测试目的的 Django 1.6 应用程序,如图所示:
media folder -> /home/josealejandro93/Desktop/Soporte/media
static folder -> /home/josealejandro93/Desktop/Soporte/static
root folder -> /home/josealejandro93/Desktop/Soporte # manage.py lives here!
我设法在 Linux Arch 上使用 this tutorial 配置了 uwsgi,当我运行时
uwsgi --http :8000 --module soporte.wsgi
我可以看到我的应用程序在 localhost:8000 上运行,但是按照上面指出的教程中的配置说明,我无法提供静态文件,所以我为我的 /etc/nginx/nginx.conf 尝试了一个新配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
include /etc/nginx/mime.types;
root /home/josealejandro93/Desktop/Soporte;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
如您所见,该文件只是一个基本配置文件,但我仍然无法提供我的静态文件。
知道我做错了什么吗?
【问题讨论】:
-
您要使用哪个端口?你在 80 端口上有 Nginx,在 8000 端口上有 WSGI 应用程序。
-
我想使用80端口,但是访问
localhost/media/nocap.jpg会产生Nginx 404。nocap.jpg是一个存在于/home/josealejandro93/Desktop/Soporte/media下的文件 -
检查权限。使用非 priv nginx 用户从主目录提供内容可能会导致问题。
-
尝试使用 user = josealejandro93;没有运气
-
答案在nginx错误日志中。