Недавно перенес оба-два свои блога на WordPress с Петерхоста на Locum. Пока полет нормальный — Locum дешевле, удобней и стабильнее. Также я рекомендовал этот хостинг заказчику для размещения небольшого Django сайта, который я сейчас разрабатываю. О том, как развернуть Django 1.4 проект на виртуальном хостинге Locum.ru, и пойдет речь в этом посте.
Итак, в панели управления создаем новый проект, например, mysite.
Заходим на сервер по SSH и скачиваем последний virtualenv:
1 |
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py |
Создаем виртуальное Python окружение:
1 |
python virtualenv.py ~/ env /mysite |
Флаг --no-site-packages
указывать не нужно — теперь это поведение по умолчанию.
Активируем окружение:
1 |
source ~ / env / mysite / bin / activate |
На локальной машине создаем и редактируем файл зависимостей проекта:
Заливаем файл на сервер и устанавливаем все необходимые пакеты:
С подготовкой окружения закончили, переходим непосредственно к работе с проектом. Все проекты находятся в директории ~/projects, в том числе и наш mysite. Locum создает дефолтный проект автоматом, он не нужен — чистим директории apps, media и static. Заливаем проект и дамп базы. Удаляем wsgi.py файл, использовавшийся на локальной машине, правим файл setting.py. Правим django.wsgi файл, созданный хостингом:
03 |
activate_this = '/home/hosting_login/env/mysite/bin/activate_this.py' |
04 |
execfile (activate_this, dict (__file__ = activate_this)) |
08 |
sys.path.insert(
, '/home/hosting_login/env/mysite/lib/python2.6/site-packages' ) |
10 |
sys.path.insert(
, '/home/hosting_login/projects/mysite/apps' ) |
12 |
os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'mysite.settings' |
14 |
import django.core.handlers.wsgi |
15 |
application = django.core.handlers.wsgi.WSGIHandler() |
Собираем статику:
1 |
python manage.py collectstatic |
Перезапускаем приложение кнопкой в панели хостинга или изменением времени редактирования файла django.wsgi