Внедряване на django проект до ключ (linux apache mysql django)

django

Занимавах се с щамповане на django сайтове и затова имаше нужда от максимална автоматизация на различни процеси, свързани с разработването, внедряването и поддръжката на проекти, в резултат на което разработих няколко решения. Един от тях, който ще споделя в тази статия, е скрипт за внедряване на проект на празна debian машина, с което внедряването стана лесно и лесно. Под изрезката ще намерите инструкции как да разположите django приложение за 10 минути, от които 5 ще отнеме четене на статията и още 5 - самото нещо. Методът е подходящ за начинаещи, които нямат никакви познания по администрация. За да качите проект, трябва да го подготвите, да закупите сървър, да го разположите и да тествате всичко.

1. Подготовка на проекта:

Ако нямате проект като такъв, можете да пропуснете тази стъпка. Моят скрипт по подразбиране ще изтегли празен django проект от моя github.

Ако проектът вече съществува:

  • Трябва да качите проекта в git хранилището или да промените скрипта с код, който ще изтегли проекта от правилното място (wget, например).
  • В основата на проекта трябва да има файл с изисквания с всички зависимости на pip. Отбелязвам, че трябва да има пакетни версии.
  • Трябва да има правилен файл wsgi.py в основата (по подразбиране, в най-новите версии на django, той се намира в projectname/, така че трябва да бъде преместен от там в ../)
  • По избор може да има и файл с apt-зависимости, наречен apt-requirements.
  • Файл с правилни настройки. Ще използваме MySQL като база данни по подразбиране, така че полето ENGINE трябва да бъде зададено на „django.db.backends.mysql“.
Примери за тези файлове,които се скитат от проект на проект, можете да видите в тестовия django проект.

2. Подготовка за хостинг:

Можете да изберете всеки хостинг с дистрибуция на debian, основното е да имате root права. Ще ви преведа през стъпките как да настроите VDS на FirstVDS. За да започнете, можете да изберете специална тестова тарифа VDS-Warm-up за 60 рубли на месец или VDS-Start за 200 рубли. Имах около 20 средни клиентски сайта на един сървър (тарифа за ускорение, 350 рубли), всичко работеше правилно.

Скриптът се съхранява в gist, така че го изтегляме и изпълняваме командите:

След това виждаме файла django_deploy_script.sh в началната директория със съдържанието:

Ако е необходимо, редактирайте го: поставете необходимите аргументи в началото. Но можете да оставите всичко както е за теста. И изпълнение на файла:

Можете да изберете елемент от менюто 7, след което всичко ще бъде инсталирано до ключ или да преминете последователно от 1 до 6.

Когато скриптът завърши, отиваме на сървъра чрез ip и оценяваме резултата.

Заключение.Когато за първи път започнах да правя django сайтове, внедряването на проекти ми отне толкова време, колкото времето за разработка. Всичко се промени с опита. През годините разработих конвейер, който ви позволява бързо да създавате сайтове и бързо да ги внедрявате. Има подобен скрипт за внедряване в nginx, ако е необходимо, ще го публикувам. Направих това: имах собствен сървър на nginx, имаше много сайтове със собствени виртуални среди. Преди да го поставя на отделен сървър с клиент, хоствах и дебъгвах сайта при мен, а след плащане го прехвърлих на отделен хостинг.

Благодаря за вниманието! Надявам се това ръководство да е полезно за някого.