Innehållsförteckning:

Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB Del 1: 6 steg
Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB Del 1: 6 steg

Video: Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB Del 1: 6 steg

Video: Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB Del 1: 6 steg
Video: CS50 2013 - Week 9 2024, November
Anonim
Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB … Del 1
Hur man bygger en webbplats på en Raspberry Pi, med Node.js, Express och MongoDB … Del 1

Välkommen till DEL 1 i min node.js webbapp -handledning. Del 1 kommer att gå igenom den nödvändiga programvaran som används för node.js apputveckling, hur man använder port vidarebefordran, hur man bygger en app med Express och hur du kör din app. Den andra delen av denna handledning kommer att gå igenom hela koden och strukturen för min fullständiga webbapplikation. Om du är redo för det besök den här.

Så när jag byggde min personliga lanseringssida tyckte jag att det var väldigt svårt att ta mig ur ogräset. Det finns mer på internet än vad jag någonsin kommer att förstå om att bygga en webbsida.

Detta är en genomgång av hur du använder Node.js, Express och Mongodb. för att skapa en webbsida.

Koden för allt detta finns här.

Min webbsida heter Internet. Besök gärna om du vill ha en mer interaktiv titt på en personlig webbplats.

Jag startade den här sidan för att ha en personlig närvaro på internet med projekt jag har gjort, med länkar till mina instruktionsbara projekt för mer information.

Denna webbplats är värd i mitt hem på en pi zero W.

Steg 1: Saker du behöver

Saker du behöver
Saker du behöver

En gång. Jag kan inte betona att att utveckla en webbplats och verkligen förstå de inre funktionerna är en långdragen process. Jag har en examen i elektroteknik med fokus på mikroelektronik och en kärlek för kodning, och det tog mig fortfarande månader att uppnå.

Denna handledning kommer att vara en bra byggsten, men läs mer dokumentation online för att förstå varje del.

2. Hallon pi - vilken modell som helst. Det gör också alla datorer som kör Linux. Egentligen kommer alla datorer att göra, jag går bara in mer detaljerat om hur man kör det på en pi.

3. Internetanslutning - om du planerar att vara värd för detta för världen. En router eller en nätverksomkopplare behövs för att konfigurera portvidarebefordran.

4. Programvara - Varje kodningsplattform fungerar, Sublime, Webstorm, Notepadd ++, Visual Studios eller något annat. Jag använde främst Webstorm eller Sublime.

Steg 2: Port Forwarding på din Raspberry Pi

Vidarebefordran av portar på din Raspberry Pi
Vidarebefordran av portar på din Raspberry Pi
Vidarebefordran av portar på din Raspberry Pi
Vidarebefordran av portar på din Raspberry Pi

Så jag antar att du redan har din hallon pi inställd. Om inte, kolla in denna enkla handledning här.

Min pi kör Jessie lite och är helt terminal. Fördelen med detta är att jag inte har många processer som körs i bakgrunden som kan få min server att köra långsammare med hög trafik. Låt mig konstatera nu att denna handledning är för webbplatser med låg trafik. Varje webbplats med hög trafik kommer att vara långsam på en pi och kan få din server att krascha.

Vidarebefordran av hamnen

När din pi är konfigurerad måste du aktivera vidarebefordran av portar på din router eller switch. För att göra detta, hitta inställningarna för vidarebefordran av portar i din router. Varje router är annorlunda, jag visar mitt Linksys Velop GUI här.

Min webbplats är konfigurerad till port 3000, detta kan ändras i källkoden i filen app.js eller www.

Jag har också port 22 konfigurerad för vidarebefordran så att jag kan SSH in i min pi, detta kan ställas in i pi -inställningarna. SSH är ett sätt att använda terminalen på din pi medan den inte är i samma nätverk, och även när du inte använder skärmutmatningen från pi. Detta gör att jag kan uppdatera min webbplats från en annan dator och driva ändringarna till min pi.

Följ bilderna för att ställa in port vidarebefordran.

DNS -tjänst

Du behöver en tjänst som länkar din ip -adress till ett webbadressnamn. Du kommer att kunna skriva in din routers globala ip -adress följt av portnumret för att komma åt din webbplats. Detta är dock svårt, särskilt om din globala ip ändras. Vad en DNS -tjänst gör är att spåra och uppdatera dessa ändringar så att ditt webbnamn och din IP är länkade. Jag väljer att använda en gratis tjänst via no-ip. Du är välkommen att betala för allt du vill. Detta är bara ett gratis sätt som jag känner till.

www.noip.com/

Steg 3: Installera nödvändig programvara på Pi

Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi
Installera nödvändig programvara på Pi

Om du har laddat ner min GitHub -kod behöver du inte göra någonting förutom att köra ett enkelt npm startkommando för att få platsen att köra. Men eftersom detta är en ingående handledning kommer jag att förklara hur man installerar all nödvändig programvara och paket.

Kör följande kommandon medan du är på din pi- eller linux -dator (det kommer att finnas olika kommandon för att använda Windows).

Jag har brutit upp dessa som enskilda steg för att göra det lättare att följa.

1. Installera node.js och npm

Node.js är i grunden Java -skriptet som skapar servern. NPM är nodpakethanterare och hanterar alla mellanlager som behövs med node.js.

Kör följande kommandon på en Linux- eller Mac -maskin för att installera.

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

För att ladda ner till Windows, använd bara exe som finns här.

Denna länk är för Linux -hjälp om inte på en hallon pi.

2. Installera MongoDB

MongoDB är just det, en databas. Jag använder detta för en inloggnings- och trafikräknare på min webbsida.

Kör följande kommandon på en Linux- eller Mac -maskin för att installera.

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 uppdatering

sudo apt-get install -y mongodb-org

För att ladda ner till Windows, använd bara exe som finns här.

Denna länk är för Linux -hjälp om inte på en hallon pi.

3. Installera Grunt

Grunt är som npm, eftersom du kan använda det tillsammans med andra plugins. Jag använder den inte för min app, men den är till stor hjälp vid automatisering av uppgifter. Det här steget kan hoppas över helt för att din app ska fungera.

För Windows, Mac eller Linux använder du följande kommando.

npm installera -g grunt -cli

4. Installera Express

Express är ett enkelt sätt att använda node js framework. Vi ska installera en expressgenerator. Detta skapar det lättanvända ramverket för en webbapplikation.

För Windows, Mac eller Linux använder du följande kommando.

npm installera express -generator -g

Steg 4: Skapa en Express Node.js -app

Skapa en Express Node.js -app
Skapa en Express Node.js -app
Skapa en Express Node.js -app
Skapa en Express Node.js -app

Navigera till den mappplats som du planerar att ha din app i. En gång här kommer alla framtida installationer att finnas i den här mappen.

Kör följande kommandon på en Linux- eller Mac -maskin för att ändra katalog.

sudo cd/home/pi/myapp

För Windows:

cd C: / Users / pi / Desktop / myapp

Använd expressgeneratorn för att skapa nodens js -ramverk som behövs.

uttrycka namnet på min app

Detta kommer att skapa ett bara express -node.js -projekt, du kan redigera funktionerna i det under detta steg genom att hitta olika kommandon som visas nedan med kommandot -h. Eller så kan du redigera den genererade mallen manuellt, precis som jag har. Jag kommer att diskutera detta mer detaljerat i del 2. Du kan lägga till andra variabler i den här koden för att ändra inställningar i din applikation, till exempel att använda html, styr, jade och andra. För detta kör kommandot:

uttrycka -h

Fortsätt konfigurera din node.js webbapplikation genom att köra följande kommandon:

cd -namn på myapp

npm installera

Detta installerar alla nödvändiga paket som din node.js webbapplikation måste köra och mer som är tillgängliga att använda.

I det här exemplet är sökvägen för programmet följande:

/home/pi/myapp/nameofmyapp

Detta beror på att expressgeneratorn skapar en fil baserad på strängen du placerar efter den. Om du redan befinner dig i önskad katalog, använd bara express.

Steg 5: Kör ditt webbprogram

Kör ditt webbprogram
Kör ditt webbprogram
Kör ditt webbprogram
Kör ditt webbprogram

För att köra din node.js webbapplikation, kör kommandot:

npm start

För att göra det mer effektivt när vi kodar så att vår applikation uppdateras automatiskt efter att vi har gjort ändringar installerar vi nodemon.

npm installera -g nodemon

Här är där de flesta självstudierna skulle berätta för dig att ha roligt att bygga och låta dig ta reda på det hårda benarbetet. I nästa steg kommer jag att gå dig igenom hur jag byggde min applikation.

Steg 6: Kredit

Inte riktigt ett steg men jag vill lista mina källor och inspiration för denna handledning.

Denna Github ReadMe skrevs av en god vän under arbetet med vårt seniordesignprojekt och det har tjänat till mycket inspiration om hur jag skapar min webbplats.

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

Denna handledning var ett användbart verktyg för att skapa en webbapplikation.

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

För mer information om en node.js -webbplats besök min del 2.

Rekommenderad: