ПредишенСледващото

Основният метод deploya Django-проект на Ubuntu
Основният метод deploya Django-проект на Ubuntu

Целта на този пост - е на разположение, за да опише един от основните и най-лесните начини да deploya Django-проект на чиста Ubuntu.

Сериозни производствени системи със сигурност се нуждаят от по-фина настройка. Ако говорим за големи проекти, ще бъдат обсъдени около контейнерите, по-голяма автоматизация, по-голям акцент върху безопасността и фина настройка на всеки софтуерен компонент.

Почти сигурно начини deploya, метод за определяне на настройките в проекта ще бъде различен, както и подходът към работата с статични и мултимедийни файлове, ще бъде различно, например, ще бъде използвана CDN, AWS S3 и така нататък.

Въпреки това, в този пост искам да помогна на тези, които са се занимавали с Django, той може да дойде от PHP и търси информация за това как да започнете и как да се създаде първата си продукт на сървъра Django-проект, който по-рано бе пускат само на локалната машина с помощта на питон manage.py runserver

Стъпка 1: Изберете хостинг

  • DigitalOcean - VPS от $ 5 512 RAM и 20 GB дисково пространство.
  • Linode.com - VPS от $ 10 за 2 GB оперативна памет и 24GB дисково пространство.
  • Webfaction.com - Споделено или VPS, в зависимост от тарифния план. $ 10 - 1GB оперативна памет, 100GB SSD диск. Удобен панел, който ще ви помогне да бъде домакин на всички видове обекти, управление на електронната поща и DNS. Един от първите хостинг услуга, която е домакин не само PHP сайтове. В случай на Webfaction, че не трябва да се справят с настройването на сървъра и базата данни, уеб сървър, не е включена в цената на вашата оперативна памет.

Стъпка 2. Създаване на сървъра

За да стартирате питон-проекта ще са ни необходими:

подразбиране питон 3.5 няма да се инсталира Ubuntu, така че можем да го изкара от по поръчка на ЗОП хранилището.

Nginx - уеб сървър, който ще бъде на прокси искания към нашия Django-заявление, както и за да излежи статични и медийни файлове.

PostgreSQL - най-удобният релационна база данни, с много различни функции.

ръководител - процес система за контрол. Тя ще се проведе в нашия питон-проект рестарт, ако е необходимо, и че с негова помощ ние ще контролира дали управлявате стартираните приложения с него.

RabbitMQ - съобщение брокер. Тя получава и изпраща съобщения. Трябва да се съхранява съобщение опашка, която е необходима в случай на използване на целина за асинхронни процесорна мощ функции Django-проект.

Git - система за контрол на преразглеждане. По подразбиране Ubunutu идва с версия на рунда един много стар, така че ние изгасят ЗОП-хранилището.

В допълнение, ние поставихме някои удобни комунални услуги като MC, htop и smem.

Всички конфигурационни команди в този пример трябва да бъдат въведени от потребителя на корен. Препоръчително е да се работи Баш като корен:

и въведете паролата си.

Добавете желаните пакети-източници.

Актуализиране на данни от хранилището, и след това да актуализира всички инсталирани пакети, за които има налични актуализации

Задайте часовата зона на сървъра, и изберете Руската локал

Инсталирайте пакета, отнасящи се до Python3

Ще инсталирате PostgreSQL и някои помощни инструменти и библиотеки

Сега създадете потребител, при които ще стартираме нашия проект. Наречете го сайтове.

За него, ние ще създадем директорията / обектите, генериране на RSA ключ, който може да се наложи да се направи при определянето на GitHub / bitbucket как да разгърнете ключ, за да се позволи достъп само за четене до repoztoriyu на сървъра, за да инсталирате на вашия проект.

Готово. Подготвили сме сървъра, изграждане на потребителска и директория, в която да живеят и вашите проекти могат да започнат да започнете вашия проект!

Всички отбори, които са изброени по-горе, аз събрани в отделна Баш-скрипт, който може да бъде изтеглен и се движат по чиста инсталация на Ubuntu 16.

За да направите това, вместо всички по-горе команди забие тези две: една за да изтеглите файла, а вторият - да го стартирате.

Не забравяйте, че те трябва да го стартирате от корена.

Този скрипт ще направи за вас оригиналната конфигурация на вашия сървър.

След като приключите с инсталацията и конфигурацията на сървъра, сега можете да направите deploem Django-проект.

Стъпка 3: Внедряване Django-проект

Directory / сайтове ще съдържат поддиректории, в които ние поставяме нашите Django-проекти.

Нека създадем първата ни каталог за Django-проект.

Всички отбори тук ние се изпълняват като корен. Тъй като файловете на проекта трябва да бъдат собственост на потребителя, от които можем започне проект, а именно местата, след като всички манипулации на инсталацията, ще се променя собственикът на файлове и директории в дясно.

В урока ние създадохме една директория за трупи директория 4, статични файлове, медийни файлове и конфигурации. Най-накрая, ние поставяме на файлове от конфигурации за този проект за надзора и Nginx

Сега се създаде виртуална среда за питон-проект.

Виртуалното пространство (virtualenv) трябва да izolirvoat инсталирани Питон пакети за всеки проект. С virtualenv, можете да направите много различни настройки pitonyachih проекти и те няма да си пречат взаимно, ако такава е необходима, една версия на пакета, а другият - от другата.

Виртуалното пространство в ENV директория създаден.

Ние ще създадем конфигурационни файлове.

Аз предпочитам да ги пазят в директорията на проекта, така че можете да видите всички файлове, свързани с проект на едно място, вместо да търсят всички тях върху сървъра. За тази цел предлагам да използвате поддиректорията довереник в директорията на проекта.

Ето пример конфигурационния nginx.conf на:

Този конфигурационен струва да се обръща внимание на факта, че Джанго-Проектът ще се стартира на пристанищните 9023 и журналите на уеб сървъра ще се съхраняват в трупите / nginx_access.log файл

Сега конфигурационния надзорник, supervisor.conf

Преди да се прилагат тези конфигурации, ние трябва да създадем самия проект.

Както може да се види от конфигурационния supervisor.conf Аз предлагам да се пазят на самия проект в проекта директория (/ сайтове / урок / проект).

В тази статия, ние ще създадем Django-проект с полезност django-admin.py

За да направите това, трябва да активирате виртуалната среда и сложи на Джанго, а заедно gunicorn, който ще се проведе в нашия проект.

Сега, в проект за виртуална среда има Django-администратор инструмент. Създаване на основния Django-проект.

След като стартирате тази команда, имаме директория проект.

Сега можем да прилагаме нашите конфигурации.

ние направихме символни връзки (символните връзки), за да ни конфигурационни файлове в тези директории, където Nginx ръководител и очакват да видите наличните конфигурации за приложенията на тези линии. За ръководител е важно, че един конфигурационен файл има разширение .conf. В противен случай, тя ще го игнорирате. За Nginx, че не е важно, но за съгласуваност Предлагам и в двата случая имат същия формат име.

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

Сега Nginx е да прокси искания към молбата си за порт 9023, и органа за надзор ще се опита да го стартирате.

Позволете ми да привлека вниманието ви към факта, че за реален проект да се направи още няколко стъпки, като например да се създаде база в Postgres, в Django-довереник да се регистрирате пътя на проект за статичните файлове и URL за тях. В този случай, настройките ще имат следния вид:

След като са определени тези настройки, можете да събирате статични файлове в директория със статично и Nginx може да им даде.

За да направите това, следните команди, за да се изпълняват, когато проектът се активира виртуална среда (източник / сайтове / урок / Околна среда / хамбар / активирате):

За да проверите мястото на изпълнение, да го отворите в конзолата на браузъра:

Ще видите Django-проект в демо-режим.

За достъп до сайта от вашия компютър, вероятно ще се наложи да промените конфигурацията на Nginx като пишете под server_name сървъра IP.

Бонус: за тези, които прочели статията до края, втората част на статията, която сме идентифицирали втори скрипт, който може да се управлява след инсталирането на скрипта. Той изпълнява всички основни настройки за вас. Вие ще трябва само да се провери работата на сайта.

Изпълнете скрипта на сървъра, можете да го изтеглите веднага след!

По време на подготовката на двата скриптове попаднах грешки, свързани с факта, че инсталацията чрез ап заключен от друг процес тичане. Това се дължи на факта, че Ubuntu включва автоматични актуализации и в списъка на процесите (команда к.с. AUX на) се виждаше процес без надзор-upgr. Ако го видим там - да изчака края на работата си, и можете да стартирате инсталационния скрипт на сървъра. За да инсталирате скрипта на проекта не е така.

Имате въпроси за статията? Попитайте ги в коментарите!

Свързани статии

Подкрепете проекта - споделете линка, благодаря!