Python Can';t使用django+;nginx

Python Can';t使用django+;nginx,python,django,postgresql,nginx,Python,Django,Postgresql,Nginx,我正在使用基于andrecp git的django+nginx- 这是nginx.conf文件: worker_processes 1; events { worker_connections 1024; } http { include /etc/nginx/mime.types; gzip on; gzip_proxied any; gzip_types text/plain text/xml text/css application/x-

我正在使用基于andrecp git的django+nginx-

这是nginx.conf文件:

worker_processes 1;

events {

    worker_connections 1024;

}

http {

    include /etc/nginx/mime.types;

    gzip on;
    gzip_proxied any;
    gzip_types text/plain text/xml text/css application/x-javascript;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";


    server {
        listen 80;
        server_name mysite.com;

        client_max_body_size 20M;
        charset     utf-8;

        access_log /dev/stdout;
        error_log /dev/stdout info;

        location /static {
            alias /usr/src/app/static;
        }

        location /static/myapp/js/ {
          default_type text/javascript;
          alias /usr/src/app/static/myapp/js/;
        }

        location /static/myapp/css/ {
          default_type text/css;
          alias /usr/src/app/static/myapp/css/;
        }

        location /media {
            alias /usr/src/app/media;
        }

        location / {
            proxy_pass http://django:8000;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }
}
这是我的模型:

class RSSfeeds(models.Model):
    site_name = models.CharField('Site Name', max_length=100)
    feed_name = models.CharField('Feed Name', max_length=100)
    feed_url = models.CharField('URL', max_length=1000)
    img = models.ImageField('Image', upload_to='img/', null=True, blank=True)
我有一个简单的形式在我的网站上与图像上传输入。 当我使用DEBUG=TRUE时,文件会按预期上传,但我认为django会处理它们,而不是Nginx(因为它们被放在django文件夹中)。 当DEBUG=False时,不会发生任何事情-我发送表单,文本数据正确存储,但图像不会保存

我做错了什么

谢谢

更新:

server {
        listen 80;
        server_name yourserver.com;

        client_max_body_size 50M;
        charset     utf-8;

        location /static {
            alias /www/static;
        }

        location /media {
            alias /www/media;
        }

        location / {
            proxy_pass http://django:8000;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;

        }
    }

您应该确保运行应用程序服务器的用户可以写入您的媒体\u ROOT目录

在您的情况下,应用程序服务器应该是Gunicorn。假设运行Gunicorn的用户是www数据,则应确保执行此命令以使应用程序服务器写入媒体根目录

sudo chown www-data.www-data/www/media


在这里,您可以找到有关使用NGINX部署Django的更多信息:

您使用了这个工具吗?我得到了同样的结果。虽然我的上传开始起作用了,但现在不行了。真的很奇怪,我解决了,但我不得不承认我不记得是什么问题。我在问题中添加了一个简单的服务器配置(如果有帮助的话)