Io utilizzo da un pò la piattaforma heroku, ideale per piccole applicazioni di sviluppo che non necessitano di particolari risorse: se poi un giorno la vostra applicazione dovesse diventare "famosa" ecco che potrete al volo comprare dei dyno aggiuntivi, dove il dyno è la singola unità di computazione come spiegato a questo indirizzo; se nessuno naviga la vostra applicazione, essa va automaticamente in standby, sospendendo il conteggio per il calcolo del costo finale: si pagano le risorse che vengono effettivamente utilizzate.
Tranquilli, per i nostri scopi non pagheremo nulla: obiettivo di questo post è installare (nel gergo informatico anglosassone si dice : to deploy) l'applicazione del post precedente su heroku.
Ecco i passi necessari
- Prerequisiti: node.js e github gia installati (e spero che a questo punto lo siano :))
- Dopo aver installato github, usate la git shell per i prossimi comandi, in modo da non avere problemi di variabili d'ambiente.
- Createvi un account su heroku
- Fate il download e installate il toolbelt heroku per la vostra piattaforma
- Aprite una shell e digitate heroku login inserendo le credenziali di accesso del vostro account
- Installate in locale un template di progetto creato da heroku su github per avere i file di configurazione necessari: digitate git clone https://github.com/heroku/node-js-getting-started.git
- Posizionatevi nella cartella di progetto node-js-getting-started e digitate heroku create per creare l'applicazione da installare su heroku: heroku creerà un nome random per la vostra applicazione e un repository git remoto dal nome heroku
- Per installare effettivamente l'applicazione sulla piattaforma heroku,digitate git push heroku master
- Per vedere l'applicazione in esecuzione digitate heroku open: si aprirà il vostro browser che punterà all'indirizzo scelto da heroku per la vostra applicazione
Partendo da questo scheletro di progetto, potete fare tutte le modifiche che volete e reinstallare il tutto.
Facciamo ad esempio queste modifiche:
Poichè la porta su cui andrà in esecuzione è decisa da heroku, non possiamo mandare in esecuzione il server su una porta qualsiasi ma utilizzeremo la porta definita dalla piattaforma in process.env.PORT: se tale porta non è definita, perchè magari eseguiamo noi in locale l'applicazione, verrà utilizzata la porta 8000.
Provate a ripetere i passi precedenti e ad installare su heroku una vostra applicazione: il primo che posterà nei commenti l'indirizzo della sua applicazione ... contribuirà semplicemente alla mia soddisfazione personale :)
In questo post le istruzioni su come usare github, nel caso non lo abbiate mai utilizzato.
E per qualsiasi dubbio, commentate :))
Alla prox.
Ivan
Facciamo ad esempio queste modifiche:
- Inseriamo una semplice pagina index.html nella cartella public
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Node js</title>
</head>
<body>
<p>Applicazione node.js su heroku ok!</p>
</body>
</html>
- Rinominiamo il file index.js in app.js e apportiamo le seguenti modifiche
var express = require('express');
var app = express();
app.set('port', (process.env.PORT || 8000));
app.use(express.static(__dirname + '/public'));
app.listen(app.get('port'), function() {
console.log("Node app is running at localhost:" + app.get('port'));
});
Poichè la porta su cui andrà in esecuzione è decisa da heroku, non possiamo mandare in esecuzione il server su una porta qualsiasi ma utilizzeremo la porta definita dalla piattaforma in process.env.PORT: se tale porta non è definita, perchè magari eseguiamo noi in locale l'applicazione, verrà utilizzata la porta 8000.
- Sostituire nel file Procfile e in package.json il riferimento a index.js con app.js
Ora dobbiamo aggiornare il repository git remoto digitando, sempre dalla cartella root del progetto e usando la git shell
- git add --all
- git commit -m "apportate modifiche ... "
- git push heroku master
Riaprite il browser all'indirizzo dell'applicazione o direttamente o digitando heroku open.
La mia applicazione è installata a questo indirizzo: https://whispering-peak-1284.herokuapp.com/
Ovviamente è possibile, in un secondo momento, acquistare un dominio e associarlo all'applicazione.
Provate a ripetere i passi precedenti e ad installare su heroku una vostra applicazione: il primo che posterà nei commenti l'indirizzo della sua applicazione ... contribuirà semplicemente alla mia soddisfazione personale :)
In questo post le istruzioni su come usare github, nel caso non lo abbiate mai utilizzato.
E per qualsiasi dubbio, commentate :))
Alla prox.
Ivan
Dopo una mattinata a capire perchè non mi faceva fare il push (usavo la shell di windows e non quella di git) forse credo di avercela fatta :)
RispondiEliminahttps://guarded-earth-6361.herokuapp.com/
Grande Cristian. Sò soddisfazioni :)))
EliminaDopo aver scritto git push heroku master mi chiede user e pass, ma scrivo quelle di login non me le accetta.
RispondiEliminaGrazie
Devi eseguire il comando dalla Git Shell che dovresti avere sul pc e non da una finestra dos normale di windows.
RispondiEliminaalla fine ce l'ho fatta :)
RispondiEliminahttps://sheltered-lowlands-1120.herokuapp.com/
:)
Eliminahttps://sheltered-lowlands-1120.herokuapp.com/
Eliminaho corretto qualcosina, ed aggiunto anche qualche funzioncina in più.
p.s. è possibile che dovete consentire l'esecuzione dello script per la nuova pagina