[Django]-Which webserver to use with Django? (updated for use in 2011)

6đź‘Ť

âś…

1 – which one is the best for VPS, Apache or Nginx, using the latest
release of course! please dont say: use lighty or cherokee…

Either will work fine.

2 – if for example the answer was: use ngnix, then, is it better to
use one server or two, as in the past it was better to make two
webservers?

The key point that is being made is that Django/Python should not serve your static resources. “Two servers” could be different physical servers, or instances, or virtual servers. Here’s an example of configuring nginx to serve static files directly and then pass dynamic requests to Python:

From https://code.djangoproject.com/wiki/DjangoAndNginx:

server {
    listen 80;
    server_name localhost;
    location /site_media  {
        root /media/; # Notice this is the /media folder that we create above
    }
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
        access_log   off;
        expires      30d; 
    }
    location / {
        # host and port to fastcgi server
        fastcgi_pass 127.0.0.1:8080;
        fastcgi_param PATH_INFO $fastcgi_script_name;
        fastcgi_param REQUEST_METHOD $request_method;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_param CONTENT_TYPE $content_type;
        fastcgi_param CONTENT_LENGTH $content_length;
        fastcgi_pass_header Authorization;
        fastcgi_intercept_errors off;
        }
}

3 – when i’ve checked my brain, i’ve found that there is only few free
space aviable, so i dont want to learn something else, so do you think
a 100% pythonic solution will be ok? CherryPy does it be a perfect
solution, mean, CherryPy + Django and basta! no Apache, no Nginx, no
more learning than python language!

IMO, setting up either Apache or nginx is pretty simple and there are lots of resources out there. You don’t need to learn very much about them to setup something simple.

👤cope360

Leave a comment