Установка и настрока Django проекта на хостинге Beget
2022-01-30Мой сайт работает на хостинге Beget и написан с ипользованием Python и фреймворка Django. Бегет хорошо подходит для размещения небольших проектов как этот. В этой статье раскажу как хостить Django-проект на Бегете.
Для начала создадим сайт в панели администратора
- Создадим домен и прекрепим для него новую папку с каким-нибудь именем
- В разделе CMS, главного меню хостинга, выберем Django и установим каркас приложения
После установки фреймворка в конреновой директории можно найти файл README.txt следующего содержания
Django установленный системой автоматической установки cms LTD BEGET
Действия описанные ниже необходимо выполнять в docker-окружении выполнив команду ниже
ssh localhost -p222
для установки дополнительных модулей используйте pip
сам Django располагается в папке
/home/u/username/site-directory/public_html/venv/
для начала надо переключиться на текущий virtualenv
заходим в папку с проектом
cd /home/u/username/site-directory/public_html
source venv/bin/activate
проверяем правильно ли определился путь до pip:
which pip
/home/u/username/site-directory/public_html/venv/bin/pip
теперь мы можем пользоваться pip'ом для установки модулей не указывая полного пути до исполняемого файла:
pip install
где
Для перезапуска passenger в папке проекта достаточно выполнить команду touch на пустом файле restart.txt
pwd
/home/u/username/site-directory/public_html/HelloDjango/HelloDjango/tmp
touch restart.txt
Создание репозитория
Создайте репозиторий на любом из сервесов: Github, Bitbucket или Gitlab. Не рекомендуется хранить данные для подключения к базе данных в репозитории. Но если вы решили так сделать, не забудьте создать приватный репозиторий.
В личного кабинета в сайдбаре нужно включить SSH-доступ.
Подключимся к хостингу по ssh:
ssh login@server.beget.com
Пароль для доступа такой же как и от личного кабинета
Зайдем в docker-контейнер:
ssh localhost -p 222
Пароль для доступа такой же как и от личного кабинета
Инициализируем репозиторий в директории
git init
git add -A
git commit -m "Initial commit"
Добавим ссылку на внешний репозиторий:
git add remotename url
Проверим, что репозиторий добавлен:
git remote -v
origin https://github.com/username/repository (fetch)
origin https://github.com/username/repository (push)
Привяжем ветку master к внешней ветке и отправим файлы в репозиторий:
git branch --set-upstream-to=origin/master
git push -f
Теперь можно разрабатывать сайт на локальной машине. Когда нужно будет перенести сайт на сервер нужно выполнить одну команду и поправить конфигурационные файлы, если потребуется
git pull
Дополнительные действия
Для раздачи статики нужно сделать относительные ссылки:
В корневой директории
ln -s public_html public
На директорию static в public_html
rm -rf static
ln -s HelloDjango/static static