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

Mega урок колба, на Heroku облака 18 внедряване, уеб земята

В предишна статия разгледахме версия на традиционната хостинг. Видяхме два примера за действителното хостинг на Linux сървъри, първите по нормален сървър, изпълняващ CentOS, а след това да миникомпютъра Raspberry Pi. Тези читатели, които не са ангажирани в управлението на Linux системи предходни години, може са решили, че изисква твърде много усилия и може да се осъществи по някакъв начин по-лесно.

Днес ние разгледаме дали разполагането на "облака" решение на проблема с прекомерната сложност на процеса.

Но какво означава това "да се разположи в облака"?

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

Звучи прекалено хубаво, за да е истина, нали?

Ще разгледаме разполагането на прилагането на платформата Heroku. един от най-популярната платформа на облак хостинг. Избрах Heroku не само заради своята популярност, но и защото тя осигурява безплатна услуга, така че ние ще се разположи нашата молба, без да харчите стотинка. Ако искате да научите повече за този вид услуга, както и тези, предлагани от други доставчици, можете да прочетете на страницата Уикипедия, посветена на PaaS.

Предоставен от Heroku


Heroku беше една от първите платформи, които осигуряват PaaS услуги. В началото го предлагат услуги по настаняване само приложения Ruby, но по-късно е включена поддръжка за много други езици като Java, Node.js, а нашият любим, Python.

В действителност, за внедряване на приложения за Heroku необходимо само да изтеглите приложението, което използва Git (ще видите как става това в най-скоро). Heroku търсите Procfile файл в главната папка на заявлението за инструкции за това как трябва да бъде изпълнена заявка. За проекта Python Heroku също очаква да види requirements.txt файл, който съдържа списък с изискваните от трети страни пакети.

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

Готови ли сте да изпитате Heroku? Нека да започнем!

Инсталиране на клиент Heroku


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

Heroku предлага програма «Heroku клиент", която ще използвате, за да създадете и управлявате нашата молба. Тази помощна програма може да се управлява под Windows, Mac OS X и Linux. Ако е налична за вашата платформа Heroku инструменти. това е най-лесният начин да се инсталира клиент Heroku.

В допълнение към определянето на URL адреса, тази команда добавя към нашия хранилище дистанционно хранилище (Git дистанционно), който скоро ще се използва, за да изтеглите кода за кандидатстване в облака.

Изключваме местно съхранение на файлове


Някои функции на нашите приложения съхраняват информация под формата на файлове на диска.

И тук ние сме изправени пред трудна задача. Приложенията, изпълнявани на Heroku, все още не са постоянно съхранение на файловете на диска, т. За. Heroku използва платформа за виртуализация, че не съхранява данните във файл, файловата система е изчистена от всички файлове с изключение на приложни файлове директно, всеки път, когато стартирате модела. Строго погледнато, приложението може да се съхранява на временните файлове на диска, но трябва да бъде в състояние да възстанови тези файлове в случай, че те изчезват. Освен това, ако използвате два случая, всеки от които използва свой собствен виртуален файлова система и няма начин за споделяне на файлове между тях.

Това е наистина лоша новина за нас. Като начало, това означава, че не можем да използваме SQLite като базата данни.

Нашата база данни на пълен текст фииу търсене и да спрат да работят, т. За да. Тя съхранява данните във файл.

Третата точка на проблема - нашата система сеч. Ние поддържаме дневник ни в директорията / ПТУ, а сега по време на работа на Heroku, тя е и вече няма да работят.

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

Първият проблем, който ще вземе решение за базата данни за миграцията, предложената Heroku, която се основава на PostgreSQL.

За работа пълнотекстово търсене ние сме готови на достъпна алтернатива. Ние трябва да се приложи пълно търсене на текст с помощта на функционалността на PostgreSQL, но това ще изисква промяна в нашата молба. Разбира се, че е жалко, но решението на този проблем сега ще ни отведе далеч от статията теми, така че да бъдат пуснати на Heroku, ние просто забраните пълнотекстово търсене.

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

Създаване на база данни Heroku


За да създадете базата данни, които използваме Heroku клиент:

$ Heroku тичам първоначален

Текущи `init` прикрепен към терминал. нагоре. се изпълнява. 7671

/ Приложение /. Heroku / питон / ПЬ / python2. 7 / сайт - пакети / SQLAlchemy / двигател / URL адрес. пг. 105. SADeprecationWarning. Диалектът SQLAlchemy PostgreSQL е бил преименуван от "Postgres" на "PostgreSQL. Новият формат URL е PostgreSQL [+ шофьор]. / / . @ /

модул = __import__ ( "sqlalchemy.dialects.% S '% (говор.)). диалекти

съставянето на стоките "APP / преводи / ове / LC_MESSAGES / messages.po" на "приложение / преводи / ове / LC_MESSAGES / messages.mo"

Предупреждение принадлежи SQLAlchemy, така че тя не обича да се започне с URI Postgres: .. // вместо PostgreSQL: //. Това URI формира Heroku чрез $ DATABASE_URL променливата околна среда, така че промяната не е по силите ни. Надяваме се, че този формат URI ще издържи дълго време.

Актуализиране на приложението


Рано или късно, идва време да се актуализира нашата молба. Тя ще бъде като първоначалното разпространение. Първото нещо, приложението ще се попълват към сървъра посредством Git:

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


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

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

Въпросът за цената е спорно. облак хостинг услуги струват цяло по-скъпи наети сървъри, т. За. плащате не само за сървър, но също така и за административни услуги. Heroku типичен тарифен план, в това число два случая и най-евтиното производство базата данни, ще струва $ 85 (това е по време на преди около година това писание, -. А платно ..). От друга страна, ако ще да изглежда добре, а след това тя ще бъде в състояние да взема доста прилична за VPS

В резултат на това, според мен, въпрос на избор ще слезе до избор, който е по-важно за вас: време или пари.


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

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

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

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

Благодаря ти, отново, за това, което съм бил лоялен читател.

Сподели този линк:

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

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