Хорошо, я не специалист по этому вопросу или что-то в этом роде, но, как мне кажется, я понимаю, nginx - это прокси-сервер, который работает перед веб-сервером, обслуживающим ваше приложение django, верно?
Вы можете создать простой сервер node.js, который делает то же самое - прослушивать порт 80, подождать, пока запрос полностью не будет отправлен на сервер, а затем направить его на веб-сервер, который обслуживает приложение Django. Если ваша проблема в том, что потоки веб-серверов используются для длительных загрузок, то я думаю, что это решит эту проблему.
Вот код - чуть выше моей головы
var http = require('http');
var server = http.createServer(function (req, res) {
var headers = req.headers;
var url = req.url;
var method = req.method;
var body = '';
req.addListener('data', function(chunk) {
body += chunk;
});
req.addListener('end', function() {
// at this point the request is completely uploaded (including files)
// so it can be forwarded to the django webserver
var dj_client = http.createClient(8000, 'localhost');
var dj_req = dj_client.request(method, url, headers);
dj_req.addListener('response', function (dj_res) {
// here the response have been received from the django server
// so we can return that to the waiting client
res.writeHead(dj_res.status, dj_res.headers);
dj_res.addListener('data', res.write);
dj_res.addListener('end', res.close);
});
// send the request to the django webserver
dj_req.write(body);
dj_req.close();
});
});
server.listen(80);