Відмінності між версіями «Nginx Django»
Перейти до навігації
Перейти до пошуку
(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 свої налаштування (файл | + | 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/ | + | '''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.