Відмінності між версіями «Nginx Django»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
(Created page with '== Налаштування зв'язки Django та nginx == Операційна система Debian. ---- 1. Встановлюємо все необхідне: apt-get in...')
 
Рядок 29: Рядок 29:
 
                       '"$http_referer" "$http_user_agent"'
 
                       '"$http_referer" "$http_user_agent"'
 
                       '"$gzip_ratio" "$uid_set" "$uid_got"';
 
                       '"$gzip_ratio" "$uid_set" "$uid_got"';
−
4. Добавляємо в каталог /etc/nginx/sites-available свої налаштування (файл Django):
+
4. Добавляємо в каталог /etc/nginx/sites-available свої налаштування (файл django-site):
 
  # Django project
 
  # Django project
 
  server {
 
  server {
Рядок 36: Рядок 36:
 
   error_log  /var/www/energy-service/error_log  info;
 
   error_log  /var/www/energy-service/error_log  info;
 
   location / {
 
   location / {
−
       fastcgi_pass unix:/var/www/'''energy-service'''/server.sock;
+
       '''fastcgi_pass unix:/var/www/energy-service/server.sock'''; # зв'язок з демоном django через сокет
−
       # fastcgi_pass 127.0.0.1:8000;
+
       # fastcgi_pass 127.0.0.1:8000; # можна і через порт
 
       include  django_fcgi_params;  
 
       include  django_fcgi_params;  
 
       access_log  /var/www/'''energy-service'''/logs/django.log  main;
 
       access_log  /var/www/'''energy-service'''/logs/django.log  main;
Рядок 55: Рядок 55:
 
   }
 
   }
 
  }
 
  }
 +
5. Робимо символічну ссилку файла django-site в папку /etc/nginx/sites-available/sites-enabled
 +
6.

Версія за 21:23, 15 квітня 2009

Налаштування зв'язки Django та nginx

Операційна система Debian.


1. Встановлюємо все необхідне:

apt-get install python nginx dajngo flux python-mysqldb python-imaging

2. Настроюємо nginx (/etc/nginx). Ставорюємо файл /etc/nginx/django_fcgi_params для передачі параметрів у Django

fastcgi_pass_header Authorization;                   
fastcgi_intercept_errors off;                        
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_param SERVER_PORT       $server_port;        
fastcgi_param SERVER_PROTOCOL   $server_protocol;    
fastcgi_param SERVER_NAME       $server_name;        
fastcgi_param REQUEST_URI       $request_uri;        
fastcgi_param DOCUMENT_URI      $document_uri;       
fastcgi_param DOCUMENT_ROOT     $document_root;  
fastcgi_param SERVER_ADDR       $server_addr;    
fastcgi_param REMOTE_USER       $remote_user;        
fastcgi_param REMOTE_ADDR       $remote_addr;        
fastcgi_param REMOTE_PORT       $remote_port;        
fastcgi_param SERVER_SOFTWARE   "nginx";             
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";

3. У файл /etc/nginx/nginx.conf добавляємо у секцію http {}

 log_format main      '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $bytes_sent $body_bytes_sent '
                      '"$http_referer" "$http_user_agent"'
                      '"$gzip_ratio" "$uid_set" "$uid_got"';

4. Добавляємо в каталог /etc/nginx/sites-available свої налаштування (файл django-site):

# Django project
server {
  listen  80;
  server_name energy-service.com;
  error_log  /var/www/energy-service/error_log  info;
  location / {
      fastcgi_pass unix:/var/www/energy-service/server.sock; # зв'язок з демоном django через сокет
      # fastcgi_pass 127.0.0.1:8000; # можна і через порт
      include   django_fcgi_params; 
      access_log  /var/www/energy-service/logs/django.log  main;
  }
  #  location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|bmp|js)$ {
  #      root   /var/www/energy-service/site;
  #      access_log   off;
  #      expires      30d;
  #  }
  location /sm  {
      root /var/www/energy-service/site;
      access_log   off;
  }
  location /media  {
      root /var/lib/python-support/python2.5/django/contrib/admin;
      access_log   off;
  }
}

5. Робимо символічну ссилку файла django-site в папку /etc/nginx/sites-available/sites-enabled 6.