Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
In questo tutorial, imparerai come impostare un'API RESTful completa, che servirà le richieste HTTP utilizzando Node.js ed Express mentre inoltra il proxy con NGINX, su Ubuntu 16.04 LTS. Utilizzeremo un'applicazione chiamata Postman, uno strumento di sviluppo API molto noto, per testare la nostra API e assicurarsi che sia perfettamente funzionante e funzioni correttamente. Node.js è un framework JavaScript multipiattaforma veloce basato sul motore V8 di Chrome. È utilizzato in entrambe le applicazioni desktop e server ed è famoso per la gestione di loop di eventi a thread singolo. Useremo Node.js come backend per la nostra API RESTful, in bundle con Express.js, il nostro framework di applicazioni web creato per Node.js. Express.js è rilasciato come software gratuito e aperto. Express è lato server, scritto in JavaScript ed è progettato per la creazione di API, il che lo rende perfetto per il nostro progetto. D'altra parte, Postman è un client HTTP molto potente, con in mente lo sviluppo delle API. Presenta tutti gli strumenti che potresti desiderare per lo sviluppo delle API.
Innanzitutto, vai sul sito Web di Postman e scarica e installa Postman per il tuo PC principale (non per il tuo server). Tutte le istruzioni di installazione saranno sul loro sito Web.
Per iniziare, dovremo prima installare Node.js in modo da poter iniziare a sviluppare la nostra API. Scaricheremo e installeremo Node.js dal sito ufficiale.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Inoltre, vorrai anche prendere gli strumenti di costruzione necessari, che saranno utili nella compilazione di moduli.
sudo apt-get install build-essential
Per questo tutorial, utilizzeremo la versione LTS di Node.js, che è la versione 8.9.3.
Dovremo inizializzare un nuovo progetto Node.js, che conterrà un'applicazione. Per fare ciò, crea una nuova directory.
mkdir expressapi
Passa alla nuova directory. Una volta dentro, esegui npm init
e completa tutte le istruzioni richieste. Prendi nota del "punto di ingresso" dell'applicazione: creerai questo file in seguito. Al termine, vedrai un package.json
file nella tua directory corrente. Funziona come una descrizione del nostro progetto ed elenca tutte le dipendenze necessarie per funzionare.
Ora configureremo Express.js e le sue dipendenze.
npm install express
Inizierà il processo di installazione. Ci vorranno alcuni minuti per completare il download di tutto.
Successivamente, creeremo il nostro file di partenza principale per la nostra API. Qui è dove utilizzerai il "punto di ingresso" che hai visto nel package.json
file. Per il bene di questo tutorial, userò il default schema di denominazione, index.js
.
touch index.js
Quindi, aprilo nell'editor di testo nano.
nano index.js
Nel nostro file principale, vogliamo prima chiamare tutti i nostri pacchetti principali e registrare i nostri percorsi.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
const router = express.Router();
router.get('/', function(req, res) {
res.json({ message: 'API is Online!' });
});
app.use('/api', router);
app.listen(port);
console.log('Listening on port ' + port);
Fondamentalmente quello che stiamo facendo qui è inizializzare la nostra app e configurare un router di base per la nostra API. Nota che impostiamo la porta della nostra applicazione su 8080
. Avremo bisogno di questo numero per quando configureremo la nostra API RESTful. Ora siamo pronti per andare avanti e testare la nostra API.
Nella directory del progetto, eseguire quanto segue.
node <filename>.js
Ciò avvierà l'API, dove si <filename>
trova il file di avvio specificato nel package.json
file. Quindi, apri Postman sul tuo PC / Mac e fai clic sul pulsante " New
" nell'angolo in alto a destra, quindi fai clic su " Request
". Quando sei lì, dovresti vedere una barra che dice " GET
" accanto. Qui inseriremo il nostro URL di richiesta. Basta inserire quanto segue nella sezione URL richiesta e fare clic su " Send
".
`http://your-server-ip:3000/api`
Vedrai " 'API is online'
".
Per gestire i percorsi, utilizzeremo il router Express. Se non sai cos'è un router, è essenzialmente come gli endpoint dell'applicazione rispondono alle richieste del client. Ecco i percorsi che configureremo come esempio:
/api/numbers
- Mostra tutti i numeri da 1 a 10.
/api/letters
- Mostra tutte le lettere dalla A alla Z.
Ora imposteremo la nostra struttura middleware per la prima route, in questo modo.
router.use(function(req, res, next) {
console.log('We've got something.');
next() //calls next middleware in the application.
});
router.route('/numbers/:number').get((req, res) => {
res.json({result: req.params.number + 1})
});
In questo esempio, creiamo una situazione in cui un utente può richiedere la somma di un numero + 1 fornendo la forma della parola di esso, usando il metodo GET. Usiamo la router.route()
funzione per indicare quale numero vogliamo restituire come risultato. I parametri sono chiamati con un " :
" davanti a loro. Accediamo a questi parametri tramite req.params
.
Ecco un esempio con le lettere.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Usiamo lo stesso metodo di cui sopra, ma restituiamo la lettera in maiuscolo.
NGINX è un noto software open source utilizzato per servizi Web, proxy inversi, streaming e altro. Utilizzeremo NGINX per invertire il proxy della nostra API, per consentirci di eseguirlo sulla porta 80
, perché Node.js non consente connessioni su porte inferiori a 1024 senza accesso root. Questo può tornare utile quando colleghi il tuo dominio al tuo server.
Per iniziare l'installazione di NGINX è necessario eseguire quanto segue nel terminale e attendere il completamento dell'installazione.
sudo apt-get install nginx
Successivamente, vorremmo creare il nostro file del sito che NGINX utilizzerà per invertire la nostra app.
sudo nano /etc/nginx/sites-available-api.js
Popolare il file con il seguente, quindi CTRL+ Oper salvarlo.
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:8080/;
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;
}
}
Utilizzando la stessa porta su cui abbiamo eseguito la nostra applicazione in precedenza, stiamo dicendo a Nginx di reindirizzare tutte le richieste dal nostro indirizzo IP sulla porta 80
alla nostra API in esecuzione sulla porta 8080
.
Quindi, abilitare il proxy inverso collegando in modo simbolico il nostro file appena creato alla sites-available
cartella:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Ciò garantirà che NGINX annullerà il proxy della nostra API.
Una volta terminata la nostra configurazione NGINX, avvieremo NGINX, quindi avvieremo la nostra API. Innanzitutto, riavvia NGINX.
sudo systemctl restart nginx
Quindi, tornare alla directory API e avviarlo.
node <filename>.js
L'applicazione verrà eseguita sulla porta 80
. Esegui semplicemente il test dall'alto con Postman, per assicurarti che tutto funzioni correttamente.
In un ambiente di produzione, si desidera assicurarsi di disporre di un gestore processi per le applicazioni Node, per garantire che rimangano in esecuzione per sempre in background. In questo tutorial, utilizzeremo un gestore di processo chiamato PM2 (Process Manager 2), che è un gestore di processo per le applicazioni Node.js che li manterrà in vita per sempre con tempi di inattività minimi. PM2 viene fornito con molti utili strumenti di gestione, come l'arresto, il ricaricamento, la pausa e altro ancora. Per installare PM2, digitare quanto segue e attendere l'installazione.
sudo npm install pm2 -g
Una volta installato, tutto ciò che devi fare è assicurarti di essere nella directory del progetto, digitare quanto segue e l'applicazione verrà avviata.
pm2 start <filename>.js
Come accennato in precedenza, PM2 ha alcuni strumenti utili che è possibile utilizzare per gestire meglio l'applicazione.
pm2 stop
- Come suggerisce il nome, ciò consente di interrompere l'applicazione attualmente in esecuzione e di terminarne il processo. Se l'applicazione sta producendo un risultato imprevisto, la sua interruzione tornerà utile.
pm2 list
- La funzione elenco consente di visualizzare tutte le applicazioni attualmente in esecuzione tramite PM2, mappate dai loro nomi. Se è necessario controllare rapidamente i tempi di attività dell'applicazione, è necessario utilizzare questo strumento.
pm2 restart
- Se la tua applicazione si blocca per qualche motivo e desideri ricaricarla, il riavvio di pm2 fa proprio questo. Ucciderà il processo di applicazione e lo riavvierà, con un processo diverso.
pm2 monit
- Lo strumento di monitoraggio integrato di PM2 consente di visualizzare un grafico dei dettagli specifici dell'applicazione, come l'utilizzo della CPU / RAM, in un grafico intuitivo in stile ncurses. Questo è utile se desideri un'immagine visiva del carico della tua applicazione.
Ora abbiamo completato il nostro compito di creare un'API RESTful, utilizzando Node.js, Express e invertire il proxy con NGINX. Sentiti libero di espandere questo tutorial. Puoi fare molte cose fantastiche con la tua nuova API, come aggiungere metodi di autenticazione, un database, una migliore gestione del percorso e degli errori e molto altro ancora. Se hai un dominio, con un record "A" già impostato sul tuo indirizzo IP, sarai in grado di accedere alla tua API dal tuo dominio. Per ulteriori informazioni su Express.js, visitare il sito Web http://expressjs.com . Per ulteriori informazioni su NGINX e il proxy inverso, visitare http://nginx.com . Per ulteriori informazioni su PM2, visitare la loro pagina http://pm2.keymetrics.io .
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Introduzione Durante questo tutorial imparerai come configurare un livello base di sicurezza su una nuovissima macchina virtuale Vultr VC2 che esegue Ubunt
McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai
TeamTalk è un sistema di conferenza che consente agli utenti di avere conversazioni audio / video di alta qualità, chat di testo, trasferire file e condividere schermate. Io
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
PhpBB è un programma di bacheca open source. Questo articolo ti mostrerà come installare phpBB su un server web Apache su Ubuntu 16.04. Era scritto
Avere un solo utente, che è root, può essere pericoloso. Quindi risolviamolo. Vultr ci offre la libertà di fare ciò che vogliamo con i nostri utenti e i nostri server
Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar
Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t
Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare
Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446
Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu
Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.