使用jquery文件上传在Django和nginx上传文件

时间:2013-10-03 04:24:22

标签: jquery django nginx

我在Django中使用jquery文件上传,它运行良好,命令:

python manage.py runserver

但是当我使用nginx和fastcgi配置此运行时出现错误:

[Errno 13] Permission denied

这是我在nginx中的配置:

server {
listen 80;
server_name mysite.local;
access_log /var/log/nginx/mysite.access.log;
error_log /var/log/nginx/mysite.error.log;
client_max_body_size 50M;

location /static/ { # STATIC_URL
    alias /home/username/workspace/python_env/myprojectname/assets/;
    #expires 30d;
}

location /media/ { # MEDIA_URL
    alias /home/username/workspace/python_env/myprojectname/media/;
    #expires 30d;
}

location / {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:8080;
    fastcgi_split_path_info ^()(.*)$;
}

}

我将图片和其他文件上传到文件夹:

"/assets/uploads/"

我是Python Django和Nginx的新手,所以我希望有人可以帮助我一些优势方向。感谢您阅读我的帖子!

1 个答案:

答案 0 :(得分:0)

首先,使用:

启动django进程
python manage.py runserver
建议不要

。见(https://docs.djangoproject.com/en/dev/ref/django-admin/)。相反,您希望使用以下方式启动该过程:

python manage.py runfcgi host=127.0.0.1 port=8080 --settings=settings

这将启动一个fastcgi进程,nginx可以将请求传递给。

其次,您必须确保上述过程具有对assets/uploads

的读写权限

希望有所帮助。