Dansen kennisgeving netwerk (4 / 6 stap)

Stap 4: De webserver


Keuze voor server-website
Een gemeenschappelijk instrument voor web prototyping is Heroku, dat is een dienst die u toelaat om gemakkelijk een webtoepassing start. Het steunt een verscheidenheid van web-toepassingskaders (gestandaardiseerde manieren structuur-programma's die websites lopen) in een verscheidenheid van talen, met geweldige documentatie over hoe het te doen. Het elimineert de noodzaak voor u te draaien van uw eigen Linux server (die het prachtig verbergt onder de motorkap) voor het hosten van uw webtoepassing. Als u niet wat weet dat betekent of heb idee hoe te doen, loven de hemelen Heroku bestaat. En voor de meeste dingen die u zult moeten doen voor prototypes, het is gratis.

Er zijn vele web-toepassingskaders die kon je gaan met binnen Heroku. Ik heb de eenvoud van de Python en de grote variëteit aan modules gemaakt, dus heb ik besloten om te gaan met Python uitgevoerd kolf en fles lief geweest. Kolf is een eenvoudige Python web framework dat zorgt voor de aansturing van uw pagina's, en voert logica structuren en toegang krijgt tot databases als nodig. De Python module fles kolf wordt gebruikt als een template-engine: fles neemt meestal vooraf ingestelde HTML-sjablonen ik gemaakt en diervoeders in dynamische informatie uit mijn databases wanneer de website wordt geopend. (technisch fles kan doen alles kolf kan ik denken, maar het werd me aanbevolen aan kolf gebruikt voor de routering met Heroku en fles voor templating).

Ontvang een aanvraag online
Gewoon door de volgende tutorials kunt u een webtoepassing werken op Heroku voor de eerste keer in een uur starten. De belangrijke stappen zijn:

Gebruik uw eigen webadres
Heroku wijst een adres (meestal APPNAME.herokuapp.com) toe aan uw toepassing. Als u wilt uw eigen domein gebruiken voor uw toepassing (bijvoorbeeld omdat ik wilde www.istripdancing.com in plaats van dancebutton.herokuapp.com), moet u kopen uw eigen domein en het omleiden naar het adres Heroku. Ik Beweeg mijn nieuw domein aanschaffen voor $10 voor een jaar gebruikt. Ik heb gehoord kunt u domeinen goedkoper krijgen door middel van andere diensten, maar ik heb niet gekeken naar het nog. Nadat u het domein hebt gekocht, het is ongelooflijk eenvoudig naar vooruit aanvragen voor uw domein naar de Heroku app (Zie momentopname).

Heroku details
Als u eenmaal alles omhoog en lopen, als je dit soort dingen niet gedaan voordat er verscheidene hulpmiddelen u zult leren aangezien u uw eerste Heroku app hiervoor uw biedingen morph. Hier is een kort overzicht te krijgen van uw hoofd op de juiste plaats.

Heroku de basistoepassing draaiend proces
Voor het uitvoeren van een toepassing in Heroku met Python en kolf, zoekt Heroku in het app.py bestand moet zijn gestructureerd volgens de nuances van de kolf. Voordat u het bestand uitvoert, kijkt Heroku het requirements.txt-bestand om te bepalen welke Python modules zijn vereist voor het uitvoeren van de server. Er zijn een miljoen Python modules en elke toepassing meestal alleen moet een paar modules geïnstalleerd als u wilt uitvoeren. Heroku installeert deze modules, dan draait een exemplaar van Python uw app in werking. Het is belangrijk dat als u uw toepassing ontwikkelt u begrijpt de Python-Virtualenv (virtuele omgeving) en het bijwerken van requirements.txt goed (hieronder beschreven). App.py vertelt Heroku wat te doen wanneer een aanvraag wordt gedaan aan bepaalde adressen/routes binnen uw site (een functie voor de webserver uit te voeren is gekoppeld aan elke route). Deze routering functies resulteren in de ruwe code in de browser moet worden weergegeven. Het eenvoudigste voorbeeld wordt aangetoond in het leerprogramma van Heroku aan de slag: de toepassing van de standaardroute geeft gewoon de tekst "Hello World", die zal worden weergegeven in de browser wanneer iemand naar dat adres gaat.

Het creëren van dynamische webpagina's met Heroku
Als u wilden voor terugzending iets interessanter naar de browser, retourneert u HTML-code wordt bepaald op basis van de status van uw server. Om dit te doen, gebruikte ik de Python module fles. Ik maak een HTML-sjabloon met alle opmaak en statische tekst die ik wil op mijn pagina, en geef vervolgens de dynamische informatie containers in de sjabloon {{variable}} (een bijzonder van fles). Om op te vullen die ruimte met informatie uit mijn server, gebruik ik de functie van de sjabloon binnen fles in de retourregel van mijn functie van de kolf (bottle.template(...)).

Wijzigen en herschikking van uw webtoepassing met Heroku
Met Heroku werkt u op lokale bestanden op uw computer, vervolgens wanneer u wilt wijzigingen doorvoeren in uw server, u "push" Heroku met Git. Git is een blik wormen binnen een blik wormen zelf, maar in wezen is het een herziening controlesysteem voor code - een mooie manier om te zeggen dat het houdt spoor van uw wijzigingen voor u. U schrijft uw code, en elke keer als u wilt dat Git voor het opslaan van uw huidige code, u "commit" uw wijzigingen en uw code kunt terugzetten naar Staten die eerder begaan wanneer je maar wilt. Git kan worden ingesteld dat de belangrijkste herziening database on line (een gratis voorbeeld is GitHub). In ons geval de belangrijkste opslagplaats is Heroku, en wanneer we de server bijwerken willen, we gewoon "push" onze meest recente versie naar het. Hier vindt u de specificaties het gebruik van Git met Heroku hier. Als u leren van meer over Git wilt:

Lokaal werken
Afhankelijkheden kunnen een enorme bron van hoofdpijn voor mensen met behulp van Python op verschillende machines, als je niet voorzichtig bent. Stel ik maakte mijn eigen Python module waarmee ik bel myModule.myFunction(), en ik gebruik dat in mijn Python programma. Als ik geef je gewoon mijn Python-bestand zonder de module, zal uw computer hebben geen idee wat myModule bedoelt. Om aan te pakken dit, gebruiken we een virtuele omgeving met Virtualenv of een geïsoleerde exemplaar van Python waar sprake is van directe controle over wat wordt geïnstalleerd, evenals een goed ontworpen workflow voor het uitvoeren van onze programma's op verschillende machines. Een eenvoudigere manier te visualiseren dit: je hebt twee computers, een met Photoshop van de Adobe en Microsoft Office, de andere met geen software. De Excel-bestanden en afbeeldingen die u op de eerste computer kunnen niet worden geopend op de tweede omdat de computer niet beschikt over de programma's (of modules) die weten hoe om te lezen van de bestanden. Een virtualenv zou verwant aan een account op elke computer die u kan inloggen met identieke programma's. Elke keer dat u start met behulp van een nieuw programma op één rekening, wilt u een manier voor dezelfde account op de andere computer om het te hebben, zodat u al uw bestanden kunt openen. Virtualenv is dit voor Python.

De workflow voor de virtuele omgeving met Heroku is:

-opstelling van Virtualenv

-virtualenv activeren

bron venv/bin/activeren

-installeren van nieuwe modules met behulp van de pip of easy_install (installatie managers voor Python)

-bijwerken requirements.txt door "bevriezing" van de Virtualenv afhankelijkheden in het bestand (requirements.txt houdt spoor van wat modules zijn geïnstalleerd in de virtualenv)

pip bevriezen > requirements.txt

Alternatieve verklaring voor Virtualenv voor degenen die ik in de War (sorry!).

Nadat u Heroku, Git hebt, en Virtualenv setup, en je wat code in uw app.py bestand geschreven heb, dat kunt u een testserver lokaal alvorens het duwen van de code te Heroku, om te controleren of werkt het eerst. Het uitvoeren van een lokale server, terwijl in de virtualenv in de console worden uitgevoerd:

Foreman starten

Een lokale server wordt uitgevoerd op 0.0.0.0:5000 in uw webbrowser. Ga daar, testen van de functionaliteit van uw server. Als fouten opduiken, de browser zal laten zien en u kunt uw console voor Foutopsporingsberichten.

Zodra uw blij met de functionaliteit van uw server in de console worden uitgevoerd:

Geen nieuwe bestanden aan de lokale kopie van de Git toevoegen
git toevoegen.

Sla de wijzigingen in uw lokale kopie van de Git
git plegen -m "Add je commit boodschap die beschrijving van de wijzigingen die u hebt aangebracht sinds de laatste keer."

Kopieer je lokale kopie naar de Heroku kopiëren, of opslagplaats
git push heroku meester

En altviool! Uw code wordt nu uitgevoerd op Heroku en kan worden benaderd door de Internets! Ik moet nog om te beschrijven hoe record knop ingedrukt gebeurtenissen op de server met behulp van een database, maar ik zal dit later doen. Nu op om te praten met Facebook.

Gerelateerde Artikelen

SMS mailbox kennisgever op de goedkope

SMS mailbox kennisgever op de goedkope

Als u online winkelt, dan vind vaak je jezelf te wachten voor een levering. Dit vereist controle van de postbus vaak die prima is hebt u uw postvak in zicht. Maar als je op een hoge verdieping van een appartement gebouw die heeft gedeeld postvakken d
Nerveus II: Dansen Wireman

Nerveus II: Dansen Wireman

u nerveus, uw E-waste vriend heb ontmoet. Nu zeg hallo naar het vervolg!Hij, net als zijn voorganger, is een "een zelfstandige motiverende willekeurig-switching boingy apparatus, wiens eigen willekeurige beweging aan meer willekeurige beweging bijdra
Sleutel Fob kennisgeving waarschuwing

Sleutel Fob kennisgeving waarschuwing

IntroductieHeb je ooit zorgen over een oudere of gehandicapte vriend of familielid? Wat als ze hulp nodig en kan niet bereiken van een telefoon of om hulp roepen. Wat als ze had een afstandsbediening om hun nek en kunnen druk op de knop om u direct o
Dansen RedBot

Dansen RedBot

Probleem:Geen Redbot met geluidsverwerking met behulp van een Androïde cellphone.Geen Redbot die gebruikmaakt van een BPN (kunstmatige intelligentie) om te leren wanneer te verplaatsen afhankelijk van de drempel van het geluid.Stap 1: Koop een Redbot
Dansen Bot

Dansen Bot

Hallo! Wil je dansen met je robot? Wilt u de muziek horen? Nou, geen zorgen! Kijk naar de dans Bot!P.S. U kunt het decoreren maar u wenst. We waren niet in staat om wegens tijdgebrek.Stap 1: Verzamel alle van uw materialen! Materialen:-6 stuks van ho
Dansen Messenger

Dansen Messenger

leuk persistentie van visie speelgoed. Koppelen aan je schoen en schrijven van berichten of patronen, terwijl je wandelen, lopen of dansen!In dit artikel wordt u aangeboden door MonkeyLectric en de aap licht fietsverlichtingStap 1: De printplaat ik g
Intel Edison gebaseerde mobiele Sensor netwerk voor het Internet van dingen

Intel Edison gebaseerde mobiele Sensor netwerk voor het Internet van dingen

Inleiding en overzichtDe Intel Edison is een handige kleine computer die veel voordelen van andere maker stap combineert. Worden kan gecombineerd met breakout boards van verschillende grootte en doeleinden.In dit artikel zullen we leren welke compone
Hoe te leiden in twee stappen: dansen instructies

Hoe te leiden in twee stappen: dansen instructies

leren hoe te leiden in twee stappen dansen in een paar eenvoudige stappen! Je zult ziet eruit als een medewerker van de two-stepping de volgende keer dat u op country muziek dansen!BELANGRIJKE OPMERKINGEN:• LEES ALLE STAPPEN VOORDAT U PROBEERT.• Deze
Tuin vijvers netwerk In uw achtertuin - DIY idee

Tuin vijvers netwerk In uw achtertuin - DIY idee

Hallo vrienden,Sinds 2003 bouwde ik veel tuinieren waterprojecten in mijn achtertuin.Het is nu een gesloten lus vijvers netwerk.Waterloop:Hoofd van de waterval (muur waterval)WatervalVijverTuin Stream watervalTuin StreamPijp water pomp naar hoofd wat
Arduino netwerk Game

Arduino netwerk Game

Er zijn verschillende arduino gebaseerd spel-Stootkussen zoals Arduboy, Gameby en Gamebuino. U kunt maken en spelen deze spel-pad door uzelf. Dit zijn enkele speler alleen maar vergeet niet dat u ook kunt maken en de arduino netwerk spel!!Dit documen
Dansen Holiday strijkijzers

Dansen Holiday strijkijzers

In deze video, die ik een paar van de stoomstrijkijzers Oliso op het werk op en neer naar de jingle bells MIDI soundtrack opgetuigd. Oliso stoomstrijkijzers met Auto-lift systeem auto-kapitaalsbeslag heffen en lager op de aanraking van uw hand, zodat
Hond lopen kennisgeving

Hond lopen kennisgeving

Wanneer op het werk ik vraag me af als mijn hond krijgen vier wijd kreeg op de 12 of zo uur dagen en vaak, is afhankelijk van kamergenoten en vrienden om haar hond Pee-mails verzenden. Dus wanneer de leiband is greep uit de haak luidt dat niets is op
ESP8266 WiFi kennisgeving Lamp

ESP8266 WiFi kennisgeving Lamp

Dit zal een instructable over het maken van een melding lamp gebaseerd op de ESP8266 met de arduino firmware geladen op het.Dit instructable wordt ervan uitgegaan dat u al de juiste arduino firmware op uw ESP8266 hebt geladen.Materiaallijst:5 x WS281
Zijde linten dansen voor Kids

Zijde linten dansen voor Kids

Wat is er leuker dan met je kinderen dansen op je favoriete muziek? Dansen met linten natuurlijk! Deze leuke eenvoudig project zal toevoegen wat kleur en leuk om te hun bewegingen van de dans. Instant-set Colorhue Silk kleurstoffen zal ook maken dit