Inhoudsopgave:

Hoe maak je een Express Web-Server met een Raspberry Pi: 10 stappen
Hoe maak je een Express Web-Server met een Raspberry Pi: 10 stappen

Video: Hoe maak je een Express Web-Server met een Raspberry Pi: 10 stappen

Video: Hoe maak je een Express Web-Server met een Raspberry Pi: 10 stappen
Video: Raspberry Pi as Dot Net Core Web Server 2024, November
Anonim
Hoe maak je een Express Web-Server met een Raspberry Pi
Hoe maak je een Express Web-Server met een Raspberry Pi

Deze gids zal je vertellen hoe je je Raspberry Pi een webserver kunt laten hosten, die kan worden gebruikt voor het hosten van websites, en zelfs enigszins aangepast om vele andere online services te hosten, zoals gameservers of videostreamingservers. We zullen alleen bespreken hoe u een basiswebserver kunt hosten zonder het standaardpakket te bewerken.

Vereiste materialen:

  • Raspberry Pi (we raden de Raspberry Pi 3 Model B+ aan omdat die een ingebouwde draadloze adapter heeft)
  • internet toegang
  • SD-kaart (aanbevolen 32 GB, minimaal 8 GB)
  • USB-toetsenbord
  • USB-muis
  • HDMI kabel
  • HDMI-compatibele monitor
  • Toegang tot het configuratiepaneel van uw router (dit is voor port forwarding)

Stap 1: Initialiseer uw Raspberry Pi

Initialiseer uw Raspberry Pi
Initialiseer uw Raspberry Pi

Plaats de Micro SD-kaart in een andere machine en installeer het Raspbian-besturingssysteem erop met behulp van de gids op https://www.raspberrypi.org als u met een nieuwe begint. Zorg er anders voor dat uw Micro SD-kaart in uw Raspberry Pi is geplaatst.

Stap 2: Sluit uw randapparatuur aan en log in

Sluit uw randapparatuur aan en log in
Sluit uw randapparatuur aan en log in

Sluit de monitor aan met de HDMI-kabel, sluit je USB-toetsenbord aan, sluit je USB-muis en stroombron aan op de Raspberry Pi.

Log in op de Pi zodra deze is opgestart met de standaard gebruikersnaam en wachtwoord, indien gevraagd. De initiële gebruikersnaam is "pi" en het initiële wachtwoord is "raspberry".

Stap 3: Verbind de Raspberry Pi met internet

Als je toegang hebt tot een Ethernet-kabel, sluit je deze gewoon aan en je bent klaar om te gaan.

Als u wifi gebruikt, zijn er een aantal verschillende manieren om dit te bereiken. Deze gids zal een terminalvensterbenadering volgen om ervoor te zorgen dat u nog steeds verbinding kunt maken, zelfs als u de GUI van Raspbian niet gebruikt.

  1. Open een Terminal-venster als u een GUI gebruikt.

    langs de balk bovenaan de pagina, daar is de terminal

  2. Zorg ervoor dat uw Raspberry Pi de wifi detecteert

    1. Voer de opdracht 'sudo iwlist wlan0 scan' in
    2. Zoek uw toegangspunt

      1. ESSID is de naam van het toegangspunt
      2. IE is de gebruikte authenticatie.
  3. Voer de opdracht `wpa_cli` in om het toegangspunt te configureren.
  4. Voer `add_network` in

    1. Dit voegt een nieuw netwerk toe aan uw configuratielijst.
    2. Dit retourneert een enkele getalwaarde in het terminalvenster. Het eerste netwerk is genummerd '0' en in deze handleiding wordt ervan uitgegaan dat u het eerste netwerk opzet. Als dit niet het geval is, vervang dan het nummer in de commando's door het nummer dat dit commando heeft geretourneerd.
  5. Configureer het nieuwe netwerk

    1. Voer `set_network 0 ssid "ESSID" in`

      1. Vervang ESSID door de naam van het toegangspunt. Zorg ervoor dat de naam van het toegangspunt tussen aanhalingstekens staat.
      2. Onthoud dat als uw add_network-opdracht een ander getal dan 0 heeft geretourneerd, de 0 in de opdracht moet worden vervangen door het getal dat is geretourneerd
    2. Voer `set_network 0 psk "WACHTWOORD" in`

      1. Vervang PASWOORD door het wachtwoord van het toegangspunt. Zorg ervoor dat het wachtwoord van het toegangspunt tussen aanhalingstekens staat.
      2. Onthoud dat als uw add_network-opdracht een ander getal dan 0 heeft geretourneerd, de 0 in de opdracht moet worden vervangen door het getal dat is geretourneerd.

  6. Maak verbinding met het netwerk door het commando `select_network 0`. in te voeren

    Onthoud dat als uw add_network-opdracht een ander getal dan 0 heeft geretourneerd, de 0 in de opdracht moet worden vervangen door het getal dat is geretourneerd

  7. Sluit de applicatie door `quit`. in te typen

Stap 4: Zorg ervoor dat uw Pi up-to-date is

Werk in uw terminalvenster uw systeempakketlijst bij door `sudo apt-get update -y` te typen.

Werk vervolgens alle geïnstalleerde pakketten bij door `sudo apt-get dist-upgrade -y` te typen.

Stap 5: Installeer NodeJS op de Pi

In het terminalvenster moeten we NodeJS installeren, een server-side implementatie van JavaScript. Express gebruikt NodeJS om te draaien. Om NodeJS te installeren, moeten we het op de Pi apt-krijgen. Voer `sudo apt-get install nodejs -y` in. Zorg ervoor dat NodeJS is geïnstalleerd door `nodejs -v` in te voeren om het huidige versienummer te installeren.

Nadat NodeJS is geïnstalleerd, moeten we de Node Package Manager installeren. Dit is de pakketbeheerder die met NodeJS werkt om modules te installeren, zoals ExpressJS. Voer `sudo apt-get install npm -y` in. Zorg ervoor dat NPM is geïnstalleerd door `npm -v` te typen om het huidige versienummer te installeren.

Stap 6: Express en de Express Generator installeren

Nadat npm is geïnstalleerd, typt u "sudo npm install express -g". Hiermee wordt ExpressJS gedownload in de globale map van de pakketbeheerder, zodat u Express in elke map kunt uitvoeren.

Typ vervolgens "sudo npm install express-generator -g". Dit is een standaard Express-servergenerator, wat fantastisch is om snel een webserver op te zetten.

Stap 7: Voer de Express Generator uit

Typ `sudo express mijnapp`. U kunt "myapp" vervangen door alles wat u uw webserver een naam wilt geven.

Dit creëert een map met de benodigde bestanden die nodig zijn om express te laten werken.

De standaardweergave-engine is Pug.

Het wordt ten zeerste aanbevolen om naar andere opties te kijken en wat u met Express kunt doen.

Zodra de Express-generator is voltooid, kunt u testen of de webserver werkt. Typ `cd myapp` run `npm om de map in te voeren die is gegenereerd, typ vervolgens `npm start` om de toepassing uit te voeren.

Gebruik de standaardpoort, open een webbrowser en navigeer naar localhost:3000. U zou 'Express, Welkom bij Express' moeten zien. U hebt met succes een Express-webserver gemaakt.

Stap 8: Stel de server in om te draaien bij opstarten

Bewerk het rc.local-bestand. Dit bestand wordt elke keer uitgevoerd als de Pi opstart

Doe dit door "sudo nano /etc/rc.local" te typen

Voeg vóór de regel "exit 0" de volgende regel toe: "su pi -c 'node /home/pi/myapp/server.js < /dev/null $'"

Vervang het 'myapp'-gedeelte van de mappenstructuur door hoe u uw webserver ook noemde.

Sla het bestand op door op CTRL + x te drukken.

Stap 9: (OPTIONEEL) Portforwarding

(OPTIONEEL) Portforwarding
(OPTIONEEL) Portforwarding

Dit is een belangrijke stap als u wilt dat uw webserver van buiten uw thuis- of schoolnetwerk kan worden bekeken. Dit proces is afhankelijk van de router, maar het idee blijft hetzelfde. U kunt hier een specifieke handleiding voor uw router vinden https://portforward.com/router.htm met behulp van het modelnummer van uw router. De afbeelding hierboven toont een voorbeeld van hoe de webpagina eruit kan zien, overgenomen van portforward.com

  1. Krijg toegang tot het configuratiescherm van uw router
  2. Verzamel 2 stukjes informatie, het interne IP-adres van de raspberry pi en het externe IP-adres van de router

    1. Het interne IP-adres van de pi kan worden gevonden door "sudo ip addr show" in de terminal te typen
    2. Het externe IP-adres is te vinden door op google "Wat is mijn IP-adres" in te typen.
  3. In het configuratiepaneel van uw router wilt u een regel instellen met behulp van het interne IP-adres van de raspberry pi
  4. kies TCP en voor de poort kun je elke poort gebruiken die je op je node-server in de express-app hebt ingesteld, we gebruikten 1337

Stap 10: Toegang tot de webserver

U hebt nu toegang tot uw webserver vanaf een externe locatie, om het uit te proberen typt u gewoon https://INTERNAL_IP_ADDRESS:1337, waarbij u ervoor zorgt dat u "INTERNAL_IP_ADDRESS" vervangt door het externe IP-adres als u de webserver vanaf een extern netwerk benadert, of het gebruik van het interne IP-adres als u het vanuit hetzelfde netwerk benadert.

Aanbevolen: