socialgekon.com
  • Tärkein
  • Web-Käyttöliittymä
  • Jaetut Joukkueet
  • Rahoitusprosessit
  • Suunnittelu
Teknologia

Kuinka rakentaa Raspberry Pi -palvelin kehitystä varten

Vadelma Pi on pieni tietokone, jonka saat hintaan jopa 5 USD ja jolla voit käyttää monia erityyppisiä ohjelmistoja ja rakentaa monia erilaisia ​​projekteja .

Tässä artikkelissa aion opastaa sinut prosessin määrittämisessä kotikehityspalvelimeksi ja koko pinon JavaScript-sovelluksen käyttöönotossa, jota voit käyttää verkon ulkopuolelta. Tämä on hieno oman perustamiseen digitaalinen etätila tai yksinkertaisesti hallita kehityksessä käyttämääsi laitteistoa.

Mitä tarvitset tälle Raspberry Pi -kotipalvelimelle?

Vaikka tämä on nyt erityisesti Raspberry Pi 3 -opetusohjelma, se pitäisi työskentele edelleen mallien kanssa, jotka palaavat takaisin ensimmäinen sukupolvi —Jos sinulla on vanhempi malli tai Raspberry Pi Zero, ilmoita meille kokemuksestasi alla olevissa kommenteissa.



Itse Raspberry Pi -levyn lisäksi tarvitset:

  • Micro USB -laturi
  • Ethernet-kaapeli
  • MicroSD-kortti (vähintään 8 Gt ja 32 Gt: n kortit näyttävät toimivan hyvin)

Nämä ovat hyödyllisiä myös alkuasetuksissa:

  • USB-näppäimistö
  • HDMI-kaapeli ja -näyttö

Raspberry Pi OS: Raspbian

Käyttöjärjestelmän asentaminen Raspberry Pi: lle on helppoa. Asenna ensin käynnistyskuva tietokoneellasi microSD-kortille. Aseta sitten vain kortti Vadelma Pi: hen ja käynnistä se sieltä.

Raspbian on Linux-jakelu siirretty osoitteesta Debian 7.0 ( Hengenahdistus ) , ja se on virallinen Raspberry Pi -käyttöjärjestelmä, joka on optimoitu laitteen arkkitehtuurille. Vaikka suosikkijärjestelmän käyttämiseen Pi: llä on muita vaihtoehtoja, käytämme Raspbiania sen yksinkertaisuuden vuoksi.

Tämä opetusohjelma on päivitetty toimimaan tämän Raspbian-version (tai uudemman) kanssa:

Kernel version : #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) Kernel release : 4.9.0-8-amd64

Asenna Raspbian siirtymällä virallinen lataussivu ja lataa zip-tiedosto uusimmalla Raspbian-versiolla.

Aseta sitten microSD-kortti tietokoneen SD-korttipaikkaan tai sovittimeen. Noudata Raspberryn verkkosivustolla annettuja ohjeita tietokoneesi käyttöjärjestelmästä riippuen Linux , Mac käyttöjärjestelmä tai Windows .

Kun prosessi on valmis, poista SD-kortti tietokoneeltasi ja aseta se Raspberry Pi -laitteeseen. Liitä Raspberry Pi reitittimeesi Ethernet-kaapelilla ja kytke Micro USB -laturi, joka käynnistää Raspberry Pi -käynnistyksen.

Alkuasetuksia varten on kaksi vaihtoehtoa:

  • Jos sinulla on USB-näppäimistö ja HDMI-näyttö, voit liittää ne Raspberry Pi -laitteeseen alkuasetuksia varten.
    • Pi: n tulisi tunnistaa nämä laitteet heti, kun ne on kytketty verkkovirtaan.
    • Ensimmäisen kerran, kun Pi käynnistyy, se toimii automaattisesti raspi-config. Ensimmäisen käynnistyksen jälkeen sinun on suoritettava sudo raspi-config itse konfiguroidaksesi laitteen.
  • Jos sinulla ei ole niitä, voit muodostaa yhteyden Raspberry Pi -laitteeseesi sen ollessa päällä SSH: n avulla:
    • Ensin sinun on löydettävä Raspberry Pi: n IP-osoite lähiverkostasi. Tämä voidaan tehdä yhteyden muodostaminen reitittimen järjestelmänvalvojan sivulle tai verkkotyökalulla, kuten nmap .
    • Kun sinulla on laitteen IP-osoite, muodosta yhteys siihen SSH: llä päätelaitteestasi (tai sen kautta) Kitti jos käytät Windowsia). Oletuskäyttäjä on pi ja oletussalasana on raspberry. Joten esimerkiksi, jos IP-osoite on 192.168.1.16, suorita ssh [email protected] ja anna salasana pyydettäessä.
    • Kun yhteys on muodostettu, suorita sudo raspi-config.

raspi-config opastaa sinut lopullisen asennuksen läpi. Voit määrittää kaikki vaihtoehdot, mutta tärkeimmät ovat kaksi ensimmäistä: laajentaa tiedostojärjestelmää varmistaen, että kaikki SD-korttitallennustilat ovat käytettävissä käyttöjärjestelmälle, ja vaihtaa salasanan oletusarvoiselle Pi-käyttäjälle, jotta palvelimesi toimii suojattu tunkeilijoilta.

Raspi-konfig

Asenna Web-palvelin (Nginx) Raspberry Pi -laitteeseesi

Seuraavaksi asennat verkkopalvelimen. Pidän parempana Nginxistä, koska sillä on pieni muistinjälki ja koska se toimii hyvin Node.js: n kanssa (jonka asetat myöhemmin). Muut verkkopalvelimet, kuten Apache tai lighttpd , toimisi myös, mutta käytämme Nginxiä tähän esittelyyn.

Ennen kuin aloitat minkä tahansa asennuksen, sinun on varmistettava, että kaikki on ajan tasalla suorittamalla nämä komennot Pi: ssä:

sudo apt-get update sudo apt-get upgrade

Sitten voit asentaa Nginxin apt-get:

sudo apt-get install nginx

Kun asennus on valmis, käynnistä palvelin suorittamalla:

sudo service nginx start

Jos sinun ei tarvinnut selvittää Raspberry Pi: n paikallista IP-osoitetta edellisessä vaiheessa, on aika selvittää asia suorittamalla ifconfig. Ethernet-sovittimen lähtö on kohdassa eth0 ja sen paikallisen IP-osoitteen nimi on inet addr.

Kun tiedät IP-osoitteen, voit osoittaa tietokoneen selaimen siihen, missä sinun pitäisi nähdä oletuksena Tervetuloa Nginxiin -sanoma.

Avaa verkkoon: Portin edelleenlähetys

Voit ohittaa tämän vaiheen, jos et aio käyttää Raspberry Pi -laitettasi lähiverkon ulkopuolelta. Mutta niille, jotka haluavat käyttää palvelinta muualta, varmista, että se on mahdollista.

Tyypillisessä kotiverkossa reitittimeen kytketyt laitteet ovat näkymättömiä ulkomaailmalle. Vain reitittimesi on tavoitettavissa ulkopuolelta verkon kautta ulkoinen IP-osoite. Reitittimesi on vastuussa siitä, mikä saapuva liikenne on sallittua verkkoon ja mihin laitteeseen se tulisi lähettää.

Kun lähiverkon laite muodostaa yhteyden (esimerkiksi kun avaat verkkosivuston selaimellasi), reititin tunnistaa saapuvan vastausliikenteen osana tätä yhteyttä ja sallii sen läpi. Kuitenkin, jos reititin vastaanottaa saapuvaa liikennettä, joka ei ole osa avointa yhteyttä (esimerkiksi kun ulkopuolinen laite yrittää muodostaa yhteyden sisäiseen laitteeseen), se estää saapuvan liikenteen pääsyn verkkoon. Tämä on tärkeä suojausominaisuus verkon suojaamiseksi!

Joten miten voit muodostaa yhteyden Piisi ulkopuolelta? Vastaus on portin uudelleenohjaus . Reititin on määritettävä sallimaan saapuvien yhteyksien kulkeminen tietyille porteille ja lähettämään oikeaan laitteeseen. Oletusarvoisesti HTTP-protokolla käyttää porttia 80 ja SSH porttia 22, joten nämä ovat kaksi porttia, jotka sinun on avattava reitittimellä, jotta pääset käyttämään verkkosovellusta ja sallimaan suojatut yhteydet palvelimesi hallintaan.

Portin uudelleenohjaus.

Vaiheet reitittimen määrittämiseksi avaamaan ja välittämään portit voivat vaihdella Internet-palveluntarjoajasi ja reitittimesi brändin mukaan, mutta joka tapauksessa sinun pitäisi pystyä toteuttamaan se reitittimen järjestelmänvalvojan sivun lisäasetusten avulla. Etsi vain vaihtoehto, jonka nimi on 'edelleenlähetys', 'portin edelleenlähetys' tai 'verkko-osoitteen käännös'.

Sinun on avattava portti HTTP-yhteyksille ja toinen portti SSH: lle. Perusajatus koostuu näiden kahden ulkoisen portin tietojen lähettämisestä Raspberry Pi: lle, verkkoliikenne menee porttiin 80, jossa Nginx kuuntelee, ja SSH-liikenne porttiin 22, jossa SSH-palvelin hyväksyy yhteydet ulkoisilta tietokoneilta. Tässä on esimerkki siitä, miltä tämä saattaa näyttää reitittimen asetussivulta:

Porttien välityksen määritystaulukko.

Portin edelleenlähetyskokoonpano, jos Raspberry Pi: n sisäinen IP-osoite on 192.168.1.16. Kaikki portteihin 80 tai 22 saapuva saapuva liikenne välitetään tähän sisäiseen osoitteeseen.

Voit määrittää reitittimen ulkoisen IP-osoitteen yksinkertaisesti kirjoittamalla 'mikä on IP-osoitteeni' Googleen . Jos siirryt sitten reitittimesi verkon ulkopuolelle, voit testata portin edelleenlähetyksen toimivuuden avaamalla SSH-yhteyden ssh [email protected] {external IP address}: lla. Samoin HTTP-porttien edelleenlähetystä voidaan testata kirjoittamalla ulkoinen IP-osoite selaimesi osoiteriville. Muista vain, että porttisiirron avulla kuka tahansa ulkopuolinen voi käyttää laitetta näissä porteissa, jos hän tietää reitittimen ulkoisen IP-osoitteen.

Jos sinulla ei ole staattista IP-osoitetta, voit määrittää dynaamisen DNS: n. Se on hyvin yksinkertainen ja helppo askel. Voit määrittää dynaamisen DNS: n reitittimestä tai määrittää Raspberry Pi: n sitä varten. En aio käsitellä DDNS: n määrittämistä täällä, mutta BitPi.co: lla on hyvä opetusohjelma aiheesta tarvittaessa.

Asenna Framework: Full-stack JavaScript

Voit ajaa useimpia verkkokehyksiä Nginxin päällä, mutta katsotaanpa, kuinka mennä täysi pino JavaScriptin avulla. Tätä varten sinun on asennettava Node.js ja MongoDB .

Nykyään Node.js on helppo asentaa Raspberry Pi: lle seuraavilla tavoilla:

sudo apt-get install nodejs

Kun asennus on valmis, voit tarkistaa, toimiiko se suorittamalla node -v.

Nyt voit asentaa MongoDB: n vain kirjoittamalla:

sudo apt-get install mongodb

Huomaa vain, että jos sinun on koskaan katkaistava virta Raspberry Pi -palvelusta, sinun on ensin suljettava palvelu tietokannan vioittumisen välttämiseksi:

sudo service mongodb stop

Ota sovellus käyttöön

Voit kehittyä paikallisella koneellasi ja siirtää muutokset sitten BitBucketin Git-arkistoon. Koska Raspbianin mukana on esiasennettu Git, voit vetää uusimman sovelluskoodisi laitteelle ja suorittaa sen.

Rakennusteline

Asettakaamme ensin sovelluskoodi ja työnnä se Git-arkistoon. On monia tapoja käynnistää sovellus, mutta yksi suosikeistani on generaattori-kulma-täysi pino , joka tukee sekä palvelin- että asiakaskoodia.

Asenna generator-angular-fullstack tietokoneellasi:

npm install -g generator-angular-fullstack

Luo uusi hakemisto sovelluksellesi:

mkdir my-app cd my-app

Ja telineellä sovellus:

yo angular-fullstack my-app

Luo arkisto ja työnnä koodi

Luo nyt tietovarasto BitBucketiin, kuten tässä on kuvattu . Määritä sitten paikallinen hakemisto:

git init git remote add origin [email protected] :USER/REPO.git

Joten voit sitoutua ja painaa koodia:

git add . git commit -m 'Initial commit' git push -u origin master

Generaattorin mukana tulee murista-koota-ohjaus plugin, jonka avulla voit sitouttaa koontikoodin tietylle haaralle arkistossasi. Lisää vain BitBucketin kokoonpano kohtaan Gruntfile.js sovelluksen juurihakemistossa:

buildcontrol: { options: { dir: 'dist', commit: true, push: true, connectCommits: false, message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%' }, bitbucket: { options: { remote: ' [email protected] :USER/REPO.git', branch: 'build' } } }, // ...

Suorita nyt:

grunt build

… Luoda jakelukansio, jota seuraa tämä:

grunt buildcontrol:bitbucket

… Sitoutua ja työntää koodi arkistosi rakennushaaraan.

Luo SSH-avain

Koodisi on nyt isännöity. Ennen kuin voit ottaa sen käyttöön Raspberry Pi: llä, sinun on luotava Raspberry Pi: lle SSH-avain ja lisättävä se BitBucket-tilillesi. Suoritamme tämän vaiheen nopeasti, mutta jos sinulla on ongelmia, noudata ohjeita BitBucket-opas . Joten kirjaudu takaisin Raspberry Pi -päätteeseesi ja luo julkisen / yksityisen avaimen pari:

ssh-keygen

Käynnistä sitten agentti:

ssh-agent /bin/bash

Ja lisää avain agentille:

ssh-add /home/pi/.ssh/id_rsa

Nyt sinun tarvitsee vain tuottaa julkisen avaimen sisältö:

cat /home/pi/.ssh/id_rsa.pub

… Joten voit kopioida ja liittää sen BitBucketiin.

Napsauta profiilikuvaa BitBucketissa ja siirry kohtaan Hallitse tiliä . Alla TURVALLISUUS , löytö SSH-avaimet ja napsauta painiketta Lisää avain .

Kloonaa arkisto

Sovellusten koodin sijoittamiseksi ei ole sopimusta, mutta voit luoda /var/www hakemistoon ja laittaa kaikki projektisi sinne.

cd /var sudo mkdir www

Välttää sudo kun haluat sijoittaa tiedostoja verkkoryhmään, voit vaihtaa omistajan Pi-käyttäjäksi ja ryhmäksi www-data, jota Nginx käyttää:

sudo chown -R pi:www-data www cd www

Nyt voit kloonata arkiston rakennushaaran ja asentaa riippuvuudet:

git clone [email protected] :USER/REPO.git --branch build --single-branch cd REPO npm install --production

Kun se on valmis, voit käynnistää sovelluksesi ja asettaa ympäristön tuotantoon:

export NODE_ENV=production; node server/app.js &

Osoita nyt tietokoneen selaimella laitteen IP-osoitetta tarkistaaksesi, toimiiko se.

Haluaisitko, että sinulla olisi dev-palvelin, johon voisit soittaa omasi? Voit, # VadelmaPi. Tweet

Määritä Nginx Reverse Proxy

Vielä yksi vaihe on jäljellä, jotta sovelluksesi olisi käytettävissä ulkopuolelta. Vaikka Nginx kuuntelee porttia 80, jossa se vastaanottaa HTTP-pyyntöjä Pi: llesi, solmuohjelma itse kuuntelee toista porttia (esimerkiksi portti 8080). Siksi sinun on määritettävä Nginx toimimaan nimellä käänteinen välityspalvelin , tunnistaa sovelluksellesi tarkoitetut pyynnöt ja välittää ne Solmulle.

Nginx säilyttää määritystiedoston jokaiselle palvelemalleen sovellukselle sites-available kansio:

cd /etc/nginx/sites-available/

Täällä voit kopioida default määritystiedosto ja muokkaa sitä sinulle sopivalla tavalla:

sudo cp default my-app sudo nano my-app

Lopullisen määritystiedoston pitäisi näyttää tältä, Nginx toimii Node.js-palvelimen välityspalvelimena:

server { listen 80; root /var/www/my-app/; # identifies the location of the application you are configuring server_name my-app.dev; # identifies the hostname used by this application's traffic location / { proxy_pass http://localhost:8080/; # configures the back-end destination for this traffic } }

Tämän kokoonpanon ottamiseksi käyttöön, sinun on luotava symlinkki sites-enabled kansio, jossa Nginx etsii aktiivisia kokoonpanoja ajon aikana:

sudo ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled/my-app

Aktivoi nämä muutokset lataamalla palvelu uudelleen:

sudo service nginx reload

Tässä vaiheessa sovelluksesi on valmis vastaanottamaan my-app.dev: lle tarkoitettu HTTP-liikenne verkkotunnus (yllä määrittämäsi server_name my-app.dev -direktiivin ansiosta). Viimeinen ongelma, jonka sinun on ratkaistava, on, kuinka saatat ulkopuolelta lähettämäsi liikenteen vastaamaan tätä verkkotunnusta. Vaikka voisit ostaa verkkotunnuksen ja osoittaa sen IP-osoitteeseesi, hosts tiedosto tulee pelastamaan ja tekee siitä tarpeetonta.

Lisää työasemalla, josta pääset sivustolle, yksinkertaisesti reitittimen ulkoinen IP-osoite ja sovita se isäntänimeen my-app.dev. Kaikki HTTP-liikenne, jonka luot my-app.dev lähetetään sitten suoraan reitittimeesi, oikean isäntänimen ollessa Host HTTP-otsikko.

Windowsissa järjestelmänvalvojan oikeuksilla voit muokata tiedostoa, joka sijaitsee c:windowssystem32driversetchosts muistilehden kanssa. Linuxissa ja Macissa päätelaitetta voi käyttää sudo nano /etc/hosts: n kanssa ja sudo nano /private/etc/hosts vastaavasti.

## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 212.124.126.242 my-app.dev # add your host name to the list

Mitä seuraavaksi?

Nyt kun kaikki on määritetty, voit asentaa Raspberry Pi -laitteeseen niin monta sovellusta kuin haluat ikuisesti tai pm2 pitää Node.js-palvelimesi hengissä.

Ja muista vain, että jos jokin menee pieleen, voit vain pyyhkiä SD-kortin ja aloittaa alusta!

Raspberry Pi -kehityspalvelin toiminnassa.

Perustietojen ymmärtäminen

Mitä minun on aloitettava Vadelma Pi: llä?

Näyttö, jossa on oikea kaapeli ja sovitin; mikro-USB-virtalähde; langallinen näppäimistö ja hiiri - tai langaton näppäimistö ja hiiri, jossa on Bluetooth-sovitin; mikro-SD-kortti; ja tietysti Vadelma Pi.

Voitko käyttää Windowsia Vadelma Pi: llä?

Raspberry Pi: lle ei ole suoraa Windows-käyttöjärjestelmää. Windowsilla on supistettu versio, joka on tarkoitettu esineiden internet (IoT) -laitteille. Se on suunniteltu ensisijaisesti kehittäjille ja laitteistohakkerille, jotka haluavat prototyyppiä IoT-laitteita.

Miksi käyttää Vadelma Pi: tä?

Raspberry Pi: tä voi käyttää monissa asioissa. Voimme rakentaa kotiautomaatiopalvelimia, kauko-ohjattavia robotteja, verkkoon liitettyjä tallennuslaitteita (NAS), minipalvelimia, mediakeskuksia, musiikkilaatikoita, retro-pelikonsoleita, Vadelma-klusteripalvelimia, VPN-palvelimia ja paljon muuta.

Mikä on esineiden internet (IoT) Raspberry Pi?

Ei ole sellaista. IoT koostuu erikoistuneista paikan päällä olevista Internetiin kytketyistä laitteista, toisin kuin yleiskäyttöiset laitteet, kuten puhelimet ja kannettavat tietokoneet. Yksi IoT: n keskeisistä alustoista on Raspberry Pi. Se on suosittu alusta, koska se tarjoaa täydellisen Linux-palvelimen pienessä upotetussa paketissa erittäin edulliseen hintaan.

Mikä on Vadelma Pi ja mitä se tekee?

Se on yksi kortti tietokone tai jotkut kutsuvat sitä mini-tietokoneeksi. Voit tehdä sen kanssa mitä tahansa - melkein kaiken mitä voit kuvitella työpöydällä tai palvelinkoneella.

Mitä eroa on Arduinolla ja Vadelma Pi: llä?

Arduino on mikro-ohjain ja itse isännöity siru - se ei ole täydellinen tietokone, joten tarvitset erillisen tietokoneen koodin kirjoittamiseen. Raspberry Pi on vilpitön tietokone: Siinä on CPU, GPU ja portit HDMI: lle, äänelle, näytölle ja LAN: lle. Se vaatii käyttöjärjestelmän (esim. Linux) ja kiintolevyn (tai SD-kortin) sen tallentamiseksi.

Mitä hyötyä on kotipalvelimesta?

Voit käyttää Raspberry Pi: tä kotipalvelimena useisiin tarkoituksiin, kuten multimediatallennukseen, tai varmuuskopiointityöasemana, sähköpostipalvelimena, valvontakamerana, testisivustona, Jenkins-isäntänä, subversion-palvelimena, wiki-isäntänä ja moniin muihin asioihin.

Voitko käyttää palvelinta Raspberry Pi: llä?

Kyllä, voit käyttää melkein mitä tahansa palvelinta Raspberry Pi: llä.

Bootstrapped: Etäyrityksen rakentaminen

Elämäntapa

Bootstrapped: Etäyrityksen rakentaminen
Kirjoita koodi koodin uudelleenkirjoittamiseksi: jscodeshift

Kirjoita koodi koodin uudelleenkirjoittamiseksi: jscodeshift

Taustaa

Suosittu Viestiä
Onko Yhdysvaltain oman pääoman joukkorahoitusmarkkinat eläneet odotuksia?
Onko Yhdysvaltain oman pääoman joukkorahoitusmarkkinat eläneet odotuksia?
Geneettiset algoritmit: haku ja optimointi luonnollisella valinnalla
Geneettiset algoritmit: haku ja optimointi luonnollisella valinnalla
Sopeutuminen menestykseen - opas muutosten hallintaan
Sopeutuminen menestykseen - opas muutosten hallintaan
Valolaatikkokuvauksen tekeminen iPhonella ja 5 parasta ostettavaa valolaatikkoa
Valolaatikkokuvauksen tekeminen iPhonella ja 5 parasta ostettavaa valolaatikkoa
Kahdeksan sääntöä tehokkaalle ohjelmistotuotannolle
Kahdeksan sääntöä tehokkaalle ohjelmistotuotannolle
 
Kuinka käyttää diagonaalia, horisonttia ja johtavia viivoja iPhone-kuvauksen kohottamiseksi
Kuinka käyttää diagonaalia, horisonttia ja johtavia viivoja iPhone-kuvauksen kohottamiseksi
Tuota DWG: itä, kuten se on 2016: Teigha For Architecture
Tuota DWG: itä, kuten se on 2016: Teigha For Architecture
Sovelluskehitys Rapid Application Development Framework AllcountJS: n kanssa
Sovelluskehitys Rapid Application Development Framework AllcountJS: n kanssa
Kuinka ennustaa tulevaisuutta: epävarmuuden vaikutusten lieventäminen
Kuinka ennustaa tulevaisuutta: epävarmuuden vaikutusten lieventäminen
Verkkoanimaatio Flash-aikakaudella
Verkkoanimaatio Flash-aikakaudella
Luokat
MuuTrenditLähettäminenUi-SuunnitteluMuokkausIhmiset Ja JoukkueetJaetut JoukkueetSuunnittelijan ElämäSuunnitteluprosessiKaukosäätimen Nousu

© 2023 | Kaikki Oikeudet Pidätetään

socialgekon.com