Хостинг для djnago проекта с использование nginx

Так случается, что иногда нужно не только написать проект на django но и использовать его.

В качестве сервера предлагаю использовать nginx.

Сперва установить его и flup :

sudo aptitude install nginx python-flup

Теперь запустите fastcgi:

python ./manage.py runfcgi host=127.0.0.1 port=8080

Когда это проделано, создаём конфигурациооный файл для nginx:

sudo touch /etc/nginx/sites-available/sample_project.conf
sudo ln -s /etc/nginx/sites-available/sample_project.conf /etc/nginx/sites-enabled/sample_project.conf

Файлы одинаковы, так что имеет смысл создать один файл и ссылку на него.

Вот содержание:

server {
    listen 80;
    server_name myhostname.com;  # имя вашего хоста. Можно прописать в /etc/hosts
    access_log /var/log/nginx/sample_project.access.log;
    error_log /var/log/nginx/sample_project.error.log;

    # каталог для static файлов
    location /static/ { # STATIC_URL
        alias /home/www/myhostname.com/static/; # STATIC_ROOT
        expires 30d;
    }

    # для media
    location /media/ { # MEDIA_URL
        alias /home/www/myhostname/static/; # MEDIA_ROOT
        expires 30d;
    }

    location / {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:8080;
    }
}

Вот и всё. Теперь просто перезапустите nginx. От root:

/etc/init.d/nginx restart

Вот и всё. Теперь у вас настоящий хостинг))))

Имеет смысл в каталоге с проектом создать скрипт запуска/остановки:

 #!/bin/bash

case "$1" in
"start")
python ./manage.py runfcgi method=prefork host=127.0.0.1 port=8080 pidfile=/tmp/server.pid
;;
"stop")
kill -9 `cat /tmp/server.pid`
;;
"restart")
$0 stop
sleep 1
$0 start
;;
*) echo "Usage: ./server.sh {start|stop|restart}";;
esac

Использовать соответственно ./server.sh start для запуска и ./server.sh stop для остановки

Просмотров:   962

Комментарии

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Введи эти символы. Ато роботы одолели!