Spisu treści:

Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB Część 1: 6 kroków
Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB Część 1: 6 kroków

Wideo: Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB Część 1: 6 kroków

Wideo: Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB Część 1: 6 kroków
Wideo: Kurs Node.js - Jak używać potoków 2024, Lipiec
Anonim
Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB…Część 1?
Jak zbudować stronę internetową na Raspberry Pi za pomocą Node.js, Express i MongoDB…Część 1?

Witamy w CZĘŚCI 1 mojego samouczka aplikacji internetowej node.js. W części 1 omówimy niezbędne oprogramowanie używane do tworzenia aplikacji node.js, jak korzystać z przekierowania portów, jak zbudować aplikację za pomocą Express i jak ją uruchomić. W drugiej części tego samouczka omówimy cały kod i strukturę mojej pełnej aplikacji internetowej. Jeśli jesteś na to gotowy, odwiedź go tutaj.

Tak więc podczas tworzenia mojej osobistej strony startowej bardzo trudno było mi się wydostać z chwastów. W Internecie jest więcej niż ja kiedykolwiek zrozumiem na temat budowania strony internetowej.

To jest przewodnik po tym, jak korzystać z Node.js, Express i Mongodb. aby stworzyć stronę internetową.

Kod tego wszystkiego jest tutaj.

Moja strona internetowa nazywa się Internet. Odwiedź, jeśli chcesz bardziej interaktywne spojrzenie na osobistą stronę internetową.

Zacząłem tę stronę, aby mieć osobistą obecność w Internecie z projektami, które wykonałem, z linkami do moich projektów instruktażowych, aby uzyskać więcej informacji.

Ta strona jest hostowana w moim domu na pi zero W.

Krok 1: Rzeczy, których potrzebujesz

Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz

1 raz. Nie mogę podkreślić, że stworzenie strony i prawdziwe zrozumienie jej wewnętrznego działania to długotrwały proces. Mam dyplom z elektrotechniki ze specjalizacją w mikroelektronice i zamiłowanie do kodowania, a to i tak zajęło mi miesiące.

Ten samouczek będzie dobrym elementem konstrukcyjnym, ale przeczytaj więcej dokumentacji online, aby zrozumieć każdy element.

2. Raspberry pi - wystarczy każdy model. Zrobi to również każdy komputer z systemem Linux. Właściwie każdy komputer to zrobi, po prostu omówię bardziej szczegółowo, jak uruchomić go na pi.

3. Połączenie z Internetem - jeśli planujesz udostępniać to światu. Do skonfigurowania przekierowania portów potrzebny jest router lub przełącznik sieciowy.

4. Oprogramowanie - będzie działać każda platforma kodująca, Sublime, Webstorm, Notepadd++, Visual Studios lub cokolwiek innego. Używałem głównie Webstorm lub Sublime.

Krok 2: Przekierowanie portów na Twoim Raspberry Pi

Przekierowanie portów na Twoim Raspberry Pi
Przekierowanie portów na Twoim Raspberry Pi
Przekierowanie portów na Twoim Raspberry Pi
Przekierowanie portów na Twoim Raspberry Pi

Tak więc zakładam, że masz już skonfigurowane Raspberry Pi. Jeśli nie, zapoznaj się z tym prostym samouczkiem tutaj.

Moje pi uruchamia Jessie Lite i jest terminalem. Zaletą tego jest to, że nie mam wielu procesów działających w tle, które mogłyby spowolnić działanie mojego serwera przy dużym natężeniu ruchu. Powiem teraz, że ten samouczek dotyczy witryn o małym natężeniu ruchu. Każda witryna o dużym ruchu będzie powolna na pi i może spowodować awarię serwera.

Przekierowanie portów

Po skonfigurowaniu pi będziesz musiał włączyć przekierowanie portów na routerze lub przełączniku. Aby to zrobić, znajdź ustawienia przekierowania portów w routerze. Każdy router jest inny, pokazuję tutaj mój interfejs graficzny Linksys Velop.

Moja witryna jest skonfigurowana na port 3000, można to zmienić w kodzie źródłowym w pliku app.js lub www.

Mam też port 22 skonfigurowany do przekazywania, więc mogę SSH do mojego pi, można to ustawić w ustawieniach pi. SSH to sposób na używanie terminala na twoim pi, gdy nie jest on w tej samej sieci, a także bez używania wyjścia wyświetlania z pi. To pozwala mi aktualizować moją witrynę z innego komputera i wprowadzać zmiany do mojego pi.

Postępuj zgodnie ze zdjęciami, aby skonfigurować przekierowanie portów.

Usługa DNS

Będziesz potrzebować usługi, która łączy Twój adres IP z nazwą adresu internetowego. Będziesz mógł wpisać globalny adres IP routera, a następnie numer portu, aby uzyskać dostęp do swojej witryny. Jest to jednak trudne, zwłaszcza jeśli zmieni się globalny adres IP. Usługa DNS śledzi i aktualizuje te zmiany, aby Twoja nazwa internetowa i adres IP były połączone. Zdecydowałem się korzystać z bezpłatnej usługi przez no-ip. Możesz zapłacić za wszystko, co chcesz. To tylko darmowy sposób, o którym wiem.

www.noip.com/

Krok 3: Instalowanie potrzebnego oprogramowania na Pi

Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi
Instalowanie potrzebnego oprogramowania na Pi

Jeśli pobrałeś mój kod GitHub, nie będziesz musiał nic robić poza uruchomieniem prostego polecenia npm start, aby uruchomić witrynę. Ponieważ jednak jest to dogłębny samouczek, wyjaśnię, jak zainstalować całe potrzebne oprogramowanie i pakiety.

Będąc na swoim pi lub komputerze z systemem Linux (będą różne polecenia do korzystania z systemu Windows), uruchom następujące polecenia.

Podzieliłem je na poszczególne kroki, aby łatwiej było je śledzić.

1. Zainstaluj node.js i npm

Node.js to w zasadzie skrypt java, który tworzy serwer. NPM jest menedżerem pakietów węzłów i obsługuje całe oprogramowanie pośrednie potrzebne do obsługi node.js.

Uruchom następujące polecenia na komputerze z systemem Linux lub Mac, aby zainstalować.

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

Aby pobrać w systemie Windows, po prostu użyj pliku exe znajdującego się tutaj.

Ten link jest dla pomocy linux, jeśli nie na Raspberry Pi.

2. Zainstaluj MongoDB

MongoDB to po prostu baza danych. Używam tego do logowania i licznika ruchu na mojej stronie internetowej.

Uruchom następujące polecenia na komputerze z systemem Linux lub Mac, aby zainstalować.

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" | koszulka sudo /etc/apt/sources.list.d/mongodb-org-3.4.list

aktualizacja sudo apt-get

sudo apt-get install -y mongodb-org

Aby pobrać w systemie Windows, po prostu użyj pliku exe znajdującego się tutaj.

Ten link jest dla pomocy linux, jeśli nie na Raspberry Pi.

3. Zainstaluj Grunt

Grunt jest jak npm, ponieważ można go używać w połączeniu z innymi wtyczkami. Nie używam go w mojej aplikacji, ale jest bardzo pomocny przy automatyzacji zadań. Ten krok można całkowicie pominąć, aby aplikacja działała.

W przypadku systemu Windows, Mac lub Linux użyj następującego polecenia.

npm install -g grunt-cli

4. Zainstaluj Express

Express to prosty sposób na wykorzystanie frameworka node js. Zamontujemy generator ekspresowy. Tworzy to łatwy w użyciu framework aplikacji internetowej.

W przypadku systemu Windows, Mac lub Linux użyj następującego polecenia.

npm zainstaluj ekspres-generator -g

Krok 4: Utwórz aplikację Express Node.js

Utwórz aplikację Express Node.js
Utwórz aplikację Express Node.js
Utwórz aplikację Express Node.js
Utwórz aplikację Express Node.js

Przejdź do lokalizacji folderu, w którym planujesz umieścić swoją aplikację. Gdy znajdziesz się tutaj, wszystkie przyszłe instalacje będą znajdować się w tym folderze.

Uruchom następujące polecenia na komputerze z systemem Linux lub Mac, aby zmienić katalog.

cd sudo /home/pi/myapp

Dla Windowsa:

cd C:\Użytkownicy\pi\Pulpit\mojaaplikacja

Użyj ekspresowego generatora, aby utworzyć potrzebną strukturę węzła js.

ekspresowa nazwamojejaplikacji

Spowoduje to utworzenie nagiego ekspresowego projektu node.js, możesz edytować jego funkcje podczas tego kroku, znajdując różne polecenia, jak pokazano poniżej, za pomocą polecenia -h. Lub możesz ręcznie edytować wygenerowany szablon, tak jak ja. Omówię to bardziej szczegółowo w części 2. Możesz dodać inne zmienne do tego kodu, aby zmienić ustawienia w swojej aplikacji, takie jak używanie html, kierownica, jadeit i inne. W tym celu uruchom polecenie:

ekspresowe -h

Kontynuuj konfigurowanie aplikacji webowej node.js, uruchamiając następujące polecenia:

cd nazwamojejaplikacji

instalacja npm

Spowoduje to zainstalowanie wszystkich wymaganych pakietów, które Twoja aplikacja internetowa node.js będzie musiała uruchomić, a także innych, które są dostępne do użycia.

W tym przykładzie ścieżka do pliku aplikacji będzie wyglądać tak:

/home/pi/mojaaplikacja/nazwamojejaplikacji

Dzieje się tak, ponieważ ekspres ekspresowy tworzy plik na podstawie ciągu, który po nim umieścisz. Jeśli jesteś już w żądanym katalogu, po prostu użyj ekspresu.

Krok 5: Uruchom swoją aplikację internetową

Uruchom swoją aplikację internetową
Uruchom swoją aplikację internetową
Uruchom swoją aplikację internetową
Uruchom swoją aplikację internetową

Aby uruchomić aplikację webową node.js, uruchom polecenie:

początek npm

Aby uczynić go bardziej wydajnym podczas kodowania, aby nasza aplikacja aktualizowała się automatycznie po wprowadzeniu zmian, zainstalujemy nodemon.

npm install -g nodemon

W tym miejscu większość samouczków powie ci, abyś dobrze się bawił podczas budowania i pozostawił cię do zastanowienia się nad ciężką pracą nóg. W kolejnych krokach omówię, jak zbudowałem swoją aplikację.

Krok 6: Kredyt

Niezbyt krok, ale chcę wymienić moje źródła i inspiracje do tego samouczka.

Ten plik ReadMe na Github został napisany przez dobrego przyjaciela podczas pracy nad naszym starszym projektem projektowym i dostarczył wielu inspiracji, jak stworzyć moją witrynę.

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

Ten samouczek był pomocnym narzędziem w procesie tworzenia aplikacji internetowej.

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

Aby uzyskać więcej informacji na temat strony node.js, odwiedź moją część 2.

Zalecana: