На какой платформе лучше всего развертывать проект на Django?
С товарищами пилим проект со следующим стэком: Django, jQuery, HTML, SASS, MySQL. Сейчас подходим к этапу развертывания приложения. Хотим выделенный сервер, начал копаться по данной теме и наткнулся на инструменты Doker, Vagrant, Ansible... В общем, голова кругом! И поэтому думаю, что стоит начать с простого и задеплоить приложение руками, чтобы получше со всем разобраться.
Подскажите, пожалуйста, какая платформа наиболее подходящая для проекта с данным стеком?
бысто деплоить можно с помощью www.fabfile.org
нужно только создать файл(fabfile.py) подобного вида
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from fabric.api import env, run, cd
"""
структура примерно такая
/
opt/ <---- Тут любой удобный путь где будет храниться проект
my_project/ <---- Директория со всеми данными относящимся к проекту
env/ <---- виртуальное окружение
source/ <---- тут проект спуленный с репозитория
my_project_nginx.conf <---- конфиг для nginx
reload.txt <---- файл за которым следит uwsgi
other_files(yandex.metrika, google.analytics, ...)
"""
env.hosts = ['root@xxx.xxx.xxx.xxx', ]
project_path = '/opt/my_project/'
source_path = '/opt/my_project/source/'
branch = ''
def deploy():
with cd(source_path):
run('git pull')
with cd(project_path):
run('env/bin/pip install -r %srequirements.txt' % source_path)
run('env/bin/python %smanage.py migrate' % source_path)
run('env/bin/python %smanage.py collectstatic --noinput' % source_path)
run('touch reload.txt')
запускать файл из консольки "fab deploy" (deploy - имя метода)
Павел Аксенов: Спасибо, я находил этот же туториал, подскажите еще, пожалуйста на каком хостинге будет удобнее и проще всего развернуть Django, допустим, как раз по этому вот мануалу Django + wsgi + nginx?
Недавно развернул на sweb.ru. Все по их мануалу - https://help.sweb.ru/entry/147/ Единственное но - только python 2.7. Если что-то небольшое - то покатит.
Если у вас количество серверов за десяток не выйдет и нет надобности быстро разворачивать новые чуть ли не ежедневно, вам не нужны Doker, Vagrant, Ansible. Вы — не Google.
Александр +:
А VPS и VDS - это отголоски различных способов виртуализации.
OpenVZ, Jails, Virtuozzo - VPS
Xen, KVM, HyperV, ESX - VDS
да и в те времена, когда OpenVZ была еще распространена еще и тогда эти термины уже путали.
сейчас, по факту, их уже не различают.
тем более, что в 95% используется KVM/HyperV/ESX
Ну возьмите Heroku.
Там все тоже - только завернуто гораздо удобнее. Минимум телодвижений по администрированию.
А Docker, Ansible, Vagrant - это вы еще увязните в изучении...