Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Hapi.js to bogata, solidna i wydajna platforma Node.js przeznaczona do budowania aplikacji internetowych w ekosystemie Node.js. Prosta konstrukcja ułatwia rozpoczęcie pracy. Hapi korzysta z wielu najnowszych funkcji JavaScript ES6, takich jak obietnice ES6. Dla tych, którzy korzystali wcześniej z Express, Hapi pozwala wypróbować coś nowego i poznać wszystkie najnowsze funkcje JavaScript.
W tym samouczku naszym celem będzie skonfigurowanie podstawowej strony internetowej Hapi.js, która jest hostowana z naszego Vultr VPS na Ubuntu 16.04 LTS. Dla tych, którzy mają domenę dla swojej witryny, będziemy używać odwrotnego proxy do połączenia naszej domeny z naszą witryną. Na koniec nauczymy się, jak nim zarządzać z menedżerem procesów. Teraz, gdy już to zrobiliśmy, zacznijmy.
Będziemy musieli zainstalować Node.js. Aby to zrobić w systemie Ubuntu 16.04 LTS, postępuj zgodnie z tymi instrukcjami.
Będziemy musieli dodać repozytorium APT NodeSource, które zawiera najnowszą wersję Lode Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Pobieramy skrypt, którego użyjemy do dodania repozytorium do naszej listy źródeł, a także instalujemy Node.js z repozytorium NodeSource.
Oprócz instalacji samego Node.js, będziemy również musieli zainstalować niezbędne narzędzia do budowania, które pomogą w budowaniu modułów, które mogą być konieczne.
sudo apt-get install -y build-essential
To po prostu pobiera i instaluje narzędzia do budowania z repozytorium.
Dobrą praktyką jest wyznaczenie folderu, który będzie używany dla naszej aplikacji, który będzie zawierał wszystkie dane naszej aplikacji, takie jak pliki konfiguracyjne i skrypty startowe. Utwórz folder, nadając mu nazwę dowolną. Na potrzeby tego samouczka zakładam, że nazwałeś go site
.
mkdir site
Po utworzeniu folderu możemy go teraz zmienić. Upewnij się, że znajdujesz się w właśnie utworzonym katalogu, uruchom kreatora pakietu NPM.
npm init
Poprosi Cię o podanie kilku różnych rzeczy, takich jak nazwa aplikacji, plik startowy, licencja i tak dalej. Większość pól możesz pozostawić domyślną, z wyjątkiem bardziej oczywistych pól, takich jak nazwa aplikacji. Na koniec będzie wyglądać tak:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
Gdy wynik będzie satysfakcjonujący, kliknij, ENTERaby zapisać plik.
Po pomyślnym utworzeniu katalogu możemy przystąpić do instalacji Hapi.js. Jak wspomniano wcześniej, wykorzystamy NPM do pobrania pliku Hapi.js oraz jego zależności dla naszego projektu. W katalogu projektu uruchom następujące polecenie.
npm install hapi.js
Spowoduje to pobranie pliku Hapi.js z programu NPM i zainstalowanie go w naszym katalogu projektu. W tym samym cyklu wszelkie zależności, na których może polegać Hapi.js, są również pobierane dla naszej wygody.
Teraz nadszedł czas, aby skonfigurować nasz podstawowy plik aplikacji Hapi.js. Będzie zawierał cały nasz kod aplikacji. W dalszej części możemy rozszerzyć nasz kod aplikacji i dodać do niego więcej elementów, jeśli uznamy to za stosowne.
Następnie utworzymy nasz plik początkowy. Wróć do main
sekcji package.json
pliku, aby dokładnie określić, jak nazwać plik. Ponieważ użyłem domyślnego schematu nazewnictwa, nasz plik zostanie wywołany index.js
.
nano index.js
Gdy znajdziesz się w edytorze nano tekstowym, utwórz swój podstawowy kod aplikacji.
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
Najpierw importujemy moduł Hapi. Następnie inicjalizujemy konstruktora serwera, który zawiera host, na którym chcemy uruchomić serwer, a także port, który jest 3000
przeznaczony dla tego samouczka. Następnie skonfigurowaliśmy podstawowy router, co oznacza, że za każdym razem, gdy ktoś odwiedza witrynę, zostanie powitany prostą wiadomością. Na dodatek mamy funkcję asynchroniczną, aby uruchomić nasz serwer, który zaloguje się do konsoli, na której działa nasz serwer. Po zakończeniu zapisz i zamknij plik ( CTRL+ X)
Po skonfigurowaniu naszego głównego pliku jesteśmy gotowi do uruchomienia naszej aplikacji.
node index.js
Jeśli zobaczysz „ Our server is running!
” w konsoli, oznacza to, że serwer uruchomił się pomyślnie.
Ponieważ Nginx jest dostępny w domyślnych repozytoriach Ubuntu, instalacja jest prosta. Po prostu zaktualizuj listy pakietów i zainstaluj ją.
sudo apt update
sudo apt install nginx -y
Po odświeżeniu list pakietów, Nginx i jego zależności zostaną zainstalowane.
Aby Nginx mógł odwrócić proxy naszej aplikacji, musimy utworzyć plik konfiguracyjny. Ten plik konfiguracyjny będzie zawierał informacje o naszej aplikacji, której Nginx użyje do zwrotnego proxy.
Usuń domyślną konfigurację utworzoną przez Nginx, ponieważ później zastąpimy ją własną.
sudo rm /etc/nginx/sites-enabled/default
Utwórz nowy plik w sites-available
folderze. Jeśli chodzi o nazewnictwo, możemy trzymać się po prostu site
, dla uproszczenia.
sudo nano /etc/nginx/sites-available/site
W pliku wklej następujące i zapisz.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
W tym pliku mówimy Nginx, aby nasłuchiwał na porcie 80
. Ustawiamy również przekazywanie proxy na localhost
adres i port 3000
, który jest tym samym portem, co nasza aplikacja Hapi.
Teraz możesz wrócić do katalogu aplikacji i uruchomić witrynę. Po uruchomieniu witryny przejdź do http://yourdomain.com
lub http://yourip
, a zobaczysz tekst „ Hello World
”.
PM2 można znaleźć w repozytorium NPM i można go zainstalować globalnie, aby był dostępny z dowolnego miejsca, np.
sudo npm install pm2 -g
-g
Flagi na końcu oznacza, że chcemy zainstalować moduł do folderu globalnych modułów, co pozwoli nam go używać poza naszym katalogu projektu. Jest to używane, aby nasz projekt zachowywał się jak normalna aplikacja systemowa.
Po zainstalowaniu PM2 przejdź z powrotem do katalogu projektu. Składnia do uruchomienia naszej aplikacji będzie teraz nieco inna. Tak właśnie zrobimy z PM2.
pm2 start index.js --name site
Używamy funkcji startowej PM2, która w zasadzie tworzy profil dla naszej aplikacji pod nazwą site
. Po uruchomieniu tego polecenia uruchomi się witryna, ale zauważysz, że dzienniki się nie wyświetlają. Jest tak, ponieważ sposób, w jaki teraz przeglądamy dzienniki, jest inny.
pm2 logs site
Za pomocą --lines
argumentu możesz nawet określić liczbę wierszy dzienników, które chcesz wyświetlić .
Udało Ci się skonfigurować serwer WWW Hapi.js, odwrócić proxy z Nginx i nauczyć się, jak lepiej nim zarządzać za pomocą PM2. Dzięki tej wiedzy możesz dalej rozwijać ten samouczek i tworzyć bardzo zaawansowaną aplikację Hapi.js. Aby dowiedzieć się więcej o możliwościach Hapi, odwiedź ich oficjalną dokumentację . Jeśli chcesz dowiedzieć się więcej o możliwościach PM2, zapoznaj się z ich krótkim przewodnikiem .
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.