Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04
LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego
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 .
LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
NFS to oparty na sieci system plików, który umożliwia komputerom dostęp do plików w sieci komputerowej. Ten przewodnik wyjaśnia, w jaki sposób możesz udostępniać foldery w NF
Używasz innego systemu? Matomo (wcześniej Piwik) to platforma analityczna typu open source, otwarta alternatywa dla Google Analytics. Źródło Matomo jest hostowane o
TeamTalk to system konferencyjny, który pozwala użytkownikom na wysokiej jakości rozmowy audio / wideo, czat tekstowy, przesyłanie plików i udostępnianie ekranów. To ja
Vultr oferuje kilka różnych sposobów uzyskiwania dostępu do VPS w celu konfiguracji, instalacji i użytkowania. Poświadczenia dostępu Domyślne poświadczenia dostępu dla twojego VPS ar
Ranger to oparty na linii poleceń menedżer plików z powiązaniami klawiszy VI. Zapewnia minimalistyczny i ładny interfejs curses z widokiem na hierarchię katalogów
Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne
Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł
Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż GZIP. Jego kod źródłowy jest publicznie hostowany na tym Githu
Wprowadzenie MySQL ma świetną funkcję znaną jako widoki. Widoki są przechowywane zapytania. Pomyśl o nich jako o aliasie dla długiego zapytania. W tym przewodniku
Zezwolenie na logowanie roota przez SSH jest powszechnie uważane za słabą praktykę bezpieczeństwa w branży technologicznej. Zamiast tego możesz wykonać delikatną administrację
Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo
Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja
Używasz innego systemu? DokuWiki to program wiki typu open source napisany w PHP, który nie wymaga bazy danych. Przechowuje dane w plikach tekstowych. DokuWik
W tym artykule dowiesz się, jak skonfigurować więzienie chroot w Debianie. Zakładam, że używasz Debiana 7.x. Jeśli używasz Debiana 6 lub 8, może to działać, bu
Wprowadzenie Prostym sposobem na skonfigurowanie serwera VPN na Debianie jest PiVPN. PiVPN to instalator i opakowanie dla OpenVPN. Tworzy proste polecenia dla ciebie
MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns
Używasz innego systemu? Wprowadzenie CyberPanel jest jednym z pierwszych paneli sterowania na rynku, który jest zarówno open source, jak i wykorzystuje OpenLiteSpeed. Co ty?
Używasz innego systemu? NodeBB jest forum opartym na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. Kod źródłowy NodeBB i
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.