Innholdsfortegnelse:

Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB Del 1: 6 trinn
Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB Del 1: 6 trinn

Video: Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB Del 1: 6 trinn

Video: Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB Del 1: 6 trinn
Video: MKS SGEN L V1.0 - Basics 2024, Juli
Anonim
Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB … Del 1
Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB … Del 1

Velkommen til DEL 1 av min node.js webapp -opplæring. Del 1 kommer til å gå gjennom nødvendig programvare som brukes for node.js apputvikling, hvordan du bruker portvideresending, hvordan du bygger en app ved hjelp av Express og hvordan du kjører appen. Den andre delen av denne opplæringen vil gå over hele koden og strukturen til hele webprogrammet mitt. Hvis du er klar for det, kan du besøke det her.

Så da jeg bygde min personlige lanseringsside fant jeg det veldig vanskelig å komme meg ut av ugresset. Det er mer på internett enn jeg noen gang vil forstå om å bygge en webside.

Dette er en gjennomgang av hvordan du bruker Node.js, Express og Mongodb. for å lage en webside.

Koden for alt dette er her.

Min webside heter Internett. Vennligst besøk hvis du vil ha et mer interaktivt blikk på et personlig nettsted.

Jeg startet denne siden for å ha en personlig tilstedeværelse på internett med prosjekter jeg har gjort, med lenker til mine instruksjonsprosjekter for mer informasjon.

Dette nettstedet er vert i mitt hjem på en pi zero W.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger

1 gang. Jeg kan ikke understreke at å utvikle et nettsted, og virkelig forstå det indre, er en langvarig prosess. Jeg har en grad i elektroteknikk med fokus på mikroelektronikk og kjærlighet for koding, og dette tok meg fortsatt måneder å oppnå.

Denne opplæringen vil være en god byggestein, men les mer dokumentasjon på nettet for å forstå hvert stykke.

2. Bringebær pi - enhver modell vil gjøre. Alle datamaskiner som kjører linux vil også gjøre det. Egentlig vil en hvilken som helst datamaskin gjøre det, jeg går bare nærmere inn på hvordan du kjører den på en pi.

3. Internett -tilkobling - hvis du planlegger å være vert for dette for verden. En ruter eller en nettverksbryter er nødvendig for å konfigurere portvideresending.

4. Programvare - Enhver kodingsplattform vil fungere, Sublime, Webstorm, Notepadd ++, Visual Studios eller noe annet. Jeg brukte hovedsakelig Webstorm eller Sublime.

Trinn 2: Videresending av porter på din Raspberry Pi

Videresending av porter på din Raspberry Pi
Videresending av porter på din Raspberry Pi
Videresending av port på din Raspberry Pi
Videresending av port på din Raspberry Pi

Så jeg kommer til å anta at du allerede har satt bringebær -pi. Hvis ikke, sjekk ut denne enkle opplæringen her.

Min pi kjører Jessie lite, og er alt terminal. Fordelen med dette er at jeg ikke har mange prosesser som kjører i bakgrunnen som kan få serveren min til å kjøre tregere med høy trafikk. La meg konstatere nå at denne opplæringen er for områder med lav trafikk. Ethvert nettsted med høy trafikk vil være tregt på en pi og kan gjøre at serveren krasjer.

Videresending av havn

Når pi er konfigurert, må du aktivere portvideresending på ruteren eller bryteren. For å gjøre dette, finn portinnstillingene for videresending i ruteren. Hver ruter er forskjellig, jeg viser Linksys Velop GUI her.

Nettstedet mitt er konfigurert til port 3000, dette kan endres i kildekoden i app.js- eller www -filen.

Jeg har også port 22 satt opp for videresending, så jeg kan SSH inn i pi -en min, dette kan settes opp i pi -innstillingene. SSH er en måte å bruke terminalen på pi -en din mens du ikke er på det samme nettverket, og også mens du ikke bruker skjermutgangen fra pi -en. Dette lar meg oppdatere nettstedet mitt fra en annen datamaskin og skyve endringene til pi -en min.

Følg bildene for å konfigurere portvideresending.

DNS -tjeneste

Du trenger en tjeneste som kobler ip -adressen din til et webadressenavn. Du vil kunne skrive inn ruterenes globale ip -adresse etterfulgt av portnummeret for å få tilgang til nettstedet ditt. Dette er imidlertid vanskelig, spesielt hvis din globale ip endres. Hva en DNS -tjeneste gjør, er å spore og oppdatere disse endringene slik at webnavnet og ip er koblet sammen. Jeg velger å bruke en gratis tjeneste gjennom no-ip. Du er velkommen til å betale for alt du vil. Dette er bare en gratis måte jeg vet om.

www.noip.com/

Trinn 3: Installere nødvendig programvare på Pi

Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi
Installere nødvendig programvare på Pi

Hvis du har lastet ned min GitHub -kode, trenger du ikke gjøre noe annet enn å kjøre en enkel npm startkommando for å få nettstedet til å kjøre. Siden dette er en grundig opplæring, vil jeg forklare hvordan du installerer all nødvendig programvare og pakker.

Kjør følgende kommandoer mens du er på din pi- eller linux -datamaskin (det vil være forskjellige kommandoer for bruk av Windows).

Jeg har brutt disse opp som individuelle trinn for å gjøre det lettere å følge.

1. Installer node.js og npm

Node.js er i utgangspunktet Java -skriptet som lager serveren. NPM er nodepakkebehandler og håndterer alt mellomlager som trengs med node.js.

Kjør følgende kommandoer på en linux- eller mac -maskin for å installere.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash sudo apt -get install -y nodejs

For å laste ned på Windows, bare bruk exe som finnes her.

Denne lenken er for linux -hjelp hvis ikke på en bringebær pi.

2. Installer MongoDB

MongoDB er nettopp det, en database. Jeg bruker dette for en påloggings- og trafiktellerandel på websiden min.

Kjør følgende kommandoer på en linux- eller mac -maskin for å installere.

sudo apt-key adv-keyserver hkp: //keyserver.ubuntu.com: 80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

echo "deb https://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

sudo apt-get oppdatering

sudo apt-get install -y mongodb-org

For å laste ned på Windows, bare bruk exe som finnes her.

Denne lenken er for Linux -hjelp hvis ikke på en bringebær pi.

3. Installer Grunt

Grunt er som npm, som du kan bruke det sammen med andre plugins. Jeg bruker den ikke for appen min, men den er veldig nyttig når jeg automatiserer oppgaver. Dette trinnet kan hoppes helt over for at appen din skal fungere.

For Windows, Mac eller Linux, bruk følgende kommando.

npm installere -g grunt -cli

4. Installer Express

Express er en enkel måte å bruke node js framework. Vi skal installere en ekspressgenerator. Dette skaper det brukervennlige rammeverket for en webapplikasjon.

For Windows, Mac eller Linux, bruk følgende kommando.

npm installer ekspressgenerator -g

Trinn 4: Lag en Express Node.js -app

Opprett en Express Node.js -app
Opprett en Express Node.js -app
Opprett en Express Node.js -app
Opprett en Express Node.js -app

Naviger til mappeplasseringen du planlegger å ha appen din i. Når alle fremtidige installasjoner er inne i denne mappen.

Kjør følgende kommandoer på en linux- eller mac -maskin for å endre katalog.

sudo cd/home/pi/myapp

For Windows:

cd C: / Users / pi / Desktop / myapp

Bruk ekspressgeneratoren til å lage noden js -rammeverket som trengs.

uttrykk navn på min app

Dette vil opprette et bare express node.js -prosjekt. Du kan redigere funksjonene i det under dette trinnet ved å finne forskjellige kommandoer som vist nedenfor ved å bruke -h -kommandoen. Eller du kan redigere den genererte malen manuelt, slik jeg har. Jeg vil diskutere dette mer detaljert i del 2. Du kan legge til andre variabler i denne koden for å endre innstillinger i programmet ditt, for eksempel bruk av html, styre, jade og andre. For denne kjør kommandoen:

uttrykk -h

Fortsett med å konfigurere node.js -webprogrammet ditt ved å kjøre følgende kommandoer:

cd navn på myapp

npm installere

Dette installerer alle nødvendige pakker som node.js -webprogrammet ditt må kjøre og flere som er tilgjengelige for bruk.

I dette eksemplet vil filbanen for programmet være:

/home/pi/myapp/nameofmyapp

Dette er fordi ekspressgeneratoren lager en fil basert på strengen du legger etter den. Hvis du allerede er i ønsket katalog, bruker du bare express.

Trinn 5: Kjør webprogrammet ditt

Kjør webprogrammet ditt
Kjør webprogrammet ditt
Kjør webprogrammet ditt
Kjør webprogrammet ditt

For å kjøre node.js -webprogrammet, kjør kommandoen:

npm start

For å gjøre det mer effektivt mens du koder slik at applikasjonen vår oppdateres automatisk etter at vi har gjort endringer, installerer vi nodemon.

npm install -g nodemon

Her er hvor de fleste opplæringsprogrammer vil fortelle deg å ha det gøy å bygge og la deg finne ut det harde beinarbeidet. I de neste trinnene skal jeg vise deg hvordan jeg bygde applikasjonen min.

Trinn 6: Kreditt

Egentlig ikke et skritt, men jeg vil liste mine kilder og inspirasjon til denne opplæringen.

Denne Github ReadMe ble skrevet av en god venn mens vi jobbet med vårt seniordesignprosjekt, og det har tjent mye inspirasjon til hvordan jeg lager nettstedet mitt.

github.com/SDP-DT04/Web-Application/blob/m…

Denne opplæringen var et nyttig verktøy i prosessen med å lage et webprogram.

kroltech.com/2013/12/29/boilerplate-web-app…

For mer informasjon om et node.js -nettsted, besøk min del 2.

Anbefalt: