19 Oct 2017 
Тех. и админ поддержка » База знаний » Настройка VPS для Django
 Настройка VPS для Django
Решение

Установка VPS


Для примера используем тарифный план VPS-0.
Устанавливаем ОС ubuntu-14.04-x86_64.


Создание пользователя deploy


Подключаюсь по SSH к серверу под пользователем root.
Создаю пользователя deploy и добавляю его в группу sudo:

      # adduser deploy

      # gpasswd -a deploy sudo


Переподключаюсь к серверу под пользователем deploy.


Обновление дистрибутива


Обновляю всё установленное ПО с помощью команд:

      $ sudo apt update

      $ sudo apt upgrade


и иду пить кофе.


Удаление Apache2


Удаляю старый веб-сервер apache2:

      $ sudo apt purge apache2*




Установка nginx, git, cURL, python virtualenv


Ставлю curl, ядро git, веб-сервер nginx и виртуальную среду для python:

      $ sudo apt install curl git-core nginx python-virtualenv




Создание тестового приложения


Скачаю тестовое приложение Django:



Подготовка виртуального окружения


Создаю виртуальное окружение для тестового приложения:

      $ cd djangotest_ruskyhost

      $ virtualenv -p /usr/bin/python3 .


Активирую виртуальное окружение:

      $ source bin/activate



Установка Django


Установлю последнюю версию Django:

      $ pip install django




Установка и настройка веб-сервера gunicorn


Установлю веб-сервер gunicorn:

      $ pip install gunicorn


Создам конфигурационный файл для веб-сервера gunicorn gunicorn_config.py c содержимым:

command = 'gunicorn'
pythonpath = 'djangotest_ruskyhost'
bind = '127.0.0.1:8001'
workers = 1
user = 'deploy'

Добавлю запуск веб-сервера gunicorn в автозагрузку. Для этого создам файл /etc/init/gunicorn.conf и вставлю следующее содержимое:

description "djangotest_ruskyhost"

start on (filesystem)
stop on runlevel [016]

respawn
setuid deploy
setgid deploy
chdir /home/deploy/djangotest_ruskyhost

exec bin/gunicorn -c gunicorn_config.py djangotest_ruskyhost.wsgi

Запущу веб-сервер gunicorn:

      $ sudo start gunicorn


Выйду из виртуального окружения:

      $ deactivate




Настройка веб-сервера nginx


Создам конфигурационный файл nginx /etc/nginx/sites-available/djangotest_ruskyhost и вставлю следующее содержимое:

server {
server_name djangotest.ruskyhost.ru;

access_log off;

location /static/ {
alias /home/deploy/testenv/djangotest_ruskyhost/static/;
}

location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}

Вместо djangotest.ruskyhost.ru вам нужно поставить свой домен.
Перезагружаю веб-сервер nginx:

      $ sudo service nginx restart




Подробности статьи
Cтатья №:201
Создано:17 Apr 2017 12:08 AM

 Этот ответ мне помог  Этот ответ мне не помог

 Назад
 Войти [Пароль утерян] 
Электронная почта:
Пароль:
Запомнить меня:
 
 Поиск
 Опции статьи
Главная | Регистрация | Отправить тикет | База знаний | Новости | Загрузки
Язык:

Support Service Ruskyhost.ru © 2004-2013