Запуск Django на хостингу - Технічна підтримка
Інструкції цієї статті підійдуть для Django застарілих версій (до 1.9).
Актуальні версії Django можна розгорнути на хмарному хостингу.
Django (Джанго) - це вільний фреймворк, що дозволяє швидко та якісно розробляти динамічні веб-додатки мовою Python.
Django на хостингу доступний на тарифах віртуального хостингу Лайт, Стандарт та Профі.
У цій статті описуватиметься один із способів запуску фреймворку Django на хостингу для тарифного плану "Профі". Виконання налаштувань на сервері здійснюватиметься через протокол SSH. Для встановлення з'єднання можна скористатися програмою PUTTY та інструкціями зі статті SSH-доступ. Без будь-яких змін наведені інструкції працюватимуть для тарифів "Лайт" та "Стандарт".
Налаштування virtualenv
Авторизувавшись на сервері, ми опинимося у своєму домашньому каталозі. Усередині домашнього каталогу розміщуються каталоги ваших сайтів, а також службові каталоги bin, etc, log та tmp.
Для полегшення роботи з бібліотеками та програмами Python на хостингу ми скористаємося додатковим додатком virtualenv, який встановлений на всіх серверах хостингу. Інструмент virtualenv дозволить нам створити власне ізольоване оточення Python:
Після виконання вказаної команди буде створено каталог python . Його вміст виглядає так:
У директорії python/bin знаходиться бінарний файл python, що виконується, і кілька додаткових скриптів. У python/lib - дерево каталогів, що повторює таке ж дерево каталогів у загальносистемного python.
Для того, щоб код, написаний мовою python, працював у цьому оточенні, його потрібно запускати, використовуючи інтерпретатор /home/uXXXX/python/bin/python , абоскористатися такими командами:
Установка Django
Якщо ви вже активували ізольоване оточення, то установка може бути виконана за допомогою pip :
Перевірка коректності установки
Вийдіть з каталогу з Django (наприклад, перейдіть до домашнього каталогу) і перевірте, чи імпортується модуль django.
Якщо вказані команди виконуються без помилок, то установка Django на хостингу пройшла успішно.
Розгортання проекту
Тепер ми можемо створити порожній проект Django і почати його наповнення змістом. Рекомендуємо для кожного проекту створювати каталог усередині каталогу із сайтом, до якого цей проект відноситься:
Цілком імовірно, що проект насправді вже готовий. У цьому випадку досить просто скопіювати каталог із проектом у відповідну папку.
Оскільки Django працюватиме через інтерфейс FastCGI, то для включення відповідних налаштувань нам необхідно створити CGI-обробник (враппер):
Створений файл слід заповнити наступним текстом:
Для Django версій 1.9 та старше
Для Django версії 1.8 та більш ранніх версій
тут:
- uXXXXX - ім'я вашого користувача на сервері хостингу. Найчастіше, збігається з логіном
- myproject - назва створеного проекту
Зверніть особливу увагу на перший рядок:
Цей рядок змушує працювати Python у створеному віртуальному оточенні.
Тепер необхідно повідомити веб-серверу Apache про те, що для обробки запитів, що надходять, повинен використовуватися створений раніше враппер. Створимо файл .htaccess у каталозі sitename.ru/www і запишемо в нього таку вказівку:
Звернувшись до сайту sitename.ru через браузер, ми маємо побачити вітальне повідомлення відDjango. Це означає, що налаштування виконані правильно і можна розпочинати роботу з проектом.
Додаткові зауваження
- На серверах хостингу Вам не вдасться встановити python-модуль, який містить у собі компоненти, написані на Сі та компілюючі в процесі встановлення.
- Щоб перезапустити FastCGI-процес після оновлення коду, достатньо примусово завершити всі поточні FastCGI-процеси командою pkill -u uXXXX -f django-wrapper.fcgi
Налаштування каталогів для зберігання static та media
Починаючи з Django 1.3, фреймворк упорядкував роботу зі staticfiles і mediafiles.