2012-11-22 52 views
2

我已經將apache + wsgi上的django網站轉換爲nginx + uwsgi。除了使用filebrowser進行文件上傳以外,一切正常。這確實與apache + wsgi一起工作,所以我認爲它是nginx或uwsgi中的配置問題。django + nginx + uwsgi,filebrowser無法上傳

我看到的問題是上載不會返回錯誤,但該文件未寫入磁盤。

流量由前端nginx實例代理到我的nginx實例。

我的nginx.conf

worker_processes 4; 

events { 
    worker_connections 1024; 
} 

http { 
    access_log /home/username/logs/user/access_nginx_uwsgi.log combined; 
    error_log /home/username/logs/user/error_nginx_uwsgi.log crit; 

    include mime.types; 
    sendfile on; 

    set_real_ip_from 127.0.0.1; 
    real_ip_header  X-Forwarded-For; 

    include /home/username/webserver/nginx/*.conf; 

} 

我的虛擬主機配置。

server { 
    listen 127.0.0.1:26293; 
    server_name domainname.com; 

    access_log /home/username/logs/user/access_tdebt.log combined; 
    error_log /home/username/logs/user/error_tdebt.log crit; 

    location /static/ { 
     alias /home/username/.virtualenvs/tdebt/tdebt/site_static/; 
     expires 7d; 
    } 

    location /media/ { 
     alias /home/username/.virtualenvs/tdebt/tdebt/site_media/; 
     expires 7d; 
    } 
    location/{ 
     include uwsgi_params; 
     uwsgi_pass unix:///home/username/webserver/sock/tdebt.sock; 
    } 
} 

uwsgi配置

[uwsgi] 
chdir = /home/username/.virtualenvs/tdebt 
home=/home/username/.virtualenvs/tdebt 
wsgi-file = /home/username/.virtualenvs/tdebt/tdebt/webserver_config/wsgi.py 
env = DJANGO_SETTINGS_MODULE=tdebt.settings 
master = true 
pidfile = /home/username/webserver/pid/tdebt.pid 
socket = /home/username/webserver/sock/tdebt.sock 
processes = 2 
threads = 30 
enable-threads = true 
harakiri = 120 
vacuum = true 
reload-on-rss = 30 
log-x-forwarded-for = true 
idle = 300 
procname-master = [username-tdebt] uWSGI Master 
procname = [username-tdebt] uWSGI Worker 
logto = /home/username/webserver/logs/tdebt_uwsgi.log 
logdate = true 

任何幫助表示讚賞。如果還有其他可能有用的信息,請告訴我。

UPDATE:

問題似乎與Django的filebrowser和uwsgi的問題可以使用Apache/mod_uwsgi被複制。

UPDATE:

的問題是與Django的filebrowser的叉我使用。出於某種原因,不能使用uwsgi。

回答

3

Nginx具有client_max_body_size指令,該指令限制可以發送HTTP正文的大小。它的默認值是1兆,所以你應該添加client_max_body_size = 20m或類似的東西。因爲大多數瀏覽器都不能取代一個413錯誤

+0

謝謝你的回覆。我應該提到我想上傳的文件大小隻有大約14K,所以即使默認的1MB也足夠了。無論如何我都會試一試。 – bmeyer71