Zur Feier meines Wechsels in die Abteilung Agile Beratung und Schulung von Xebia hielt ich es für angemessen, mit einigen angesagten neuen Technologien zu spielen.
Von ihren Homepages:
Node.js: Evented I/O für V8-Javascript. (Ein Rahmenwerk für den Aufbau vollständig blockierungsfreier Server in Javascript)
NPM: Ein Paketmanager für Node.
CoffeeScript: Eine kleine Sprache, die sich in JavaScript kompilieren lässt
Express: Leistungsstarke, hochklassige Webentwicklung für Node.js
jade-lang.com/: Node Template Engine
Redis: Ein quelloffener, fortschrittlicher Key-Value-Speicher
In diesem Leitfaden gehe ich in sehr kleinen Schritten vor, so dass Sie überprüfen können, ob Sie noch auf dem richtigen Weg sind. Das Ergebnis ist eine extrem performante, skalierbare und leichtgewichtige Alternative für die Webentwicklung.
Ich habe also eine brandneue virtuelle Maschine mit Ubuntu 11.4 installiert und losgelegt. Nachdem ich einige Anleitungen befolgt, gegoogelt und ein wenig herumprobiert hatte, kam ich auf diese Schritt-für-Schritt-Anleitung.
Installieren von Node.js
Installieren von npm
Node.js Hallo Welt
einfügen
siehe https://127.0.0.1:1337
Fügen Sie Coffeescript hinzu
Wenn Sie so viel Javascript schreiben, werden Sie eine Menge Klammern, Semikolons und Klammern sehen. Lassen Sie uns Coffeescript verwenden, um unseren Code wieder lesbar zu machen.
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:jerome-etienne/neoip $ sudo apt-get update $ sudo apt-get install nodejs
$ apt-get install curl $ curl https://npmjs.org/install.sh | sudo sh
$ mkdir helloworld $ cd helloworld $ vi helloworld.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
}).listen(1337);
console.log('Server running at https://127.0.0.1:1337/');
$ node helloworld.js
$ sudo npm install -g coffee-script
$ cd ..
$ mkdir hellocoffee
$ cd hellocoffee
$ vi hellocoffee.coffee
einfügen
http = require "http"
http.createServer( (req, res) ->
res.writeHead 200, {"Content-Type": "text/plain"}
res.end "Hello Coffee!!"
).listen 1337
console.log 'Server running at https://127.0.0.1:1337/'
$ coffee -c hellocoffee.coffee
$ node hellocoffee.js
Und überprüfen Sie erneut https://127.0.0.1:1337.
Hinzufügen von Express
Node.js ist sehr leistungsfähig, aber es erfordert immer noch einiges an Boilerplating, um es für die Webentwicklung einzusetzen. Hier kommt Express ins Spiel. Es baut auf einer anderen Middleware-Schicht namens Connect auf und bietet Ihnen eine viel bessere Unterstützung bei der Bearbeitung von Anfragen, Rendering, Vorlagen und Antworten.
$ cd ..
$ sudo npm install -g mime qs connect express
$ mkdir helloexpress
$ cd helloexpress
$ express
$ npm install -d
$ node app.js
siehe https://127.0.0.1:3000
$ vi app2.coffee
einfügen:
express = require('express')
app = express.createServer()
# Setup configuration
app.use express.static(__dirname + '/public')
app.set 'view engine', 'jade'
# App Routes
app.get '/', (request, response) ->
response.render 'index', { title: 'Express with Coffee' }
# Listen
app.listen 3000
console.log "Express server listening on port %d", app.address().port
$ coffee -c app2.coffee
$ node app2.js
Und überprüfen Sie erneut https://127.0.0.1:3000.
Jetzt, wo Coffeescript mit Express funktioniert, können wir Sitzungen hinzufügen.
Unterstützung für Sitzungen hinzufügen
$ vi app2.coffee
einfügen nach app.use express.static(__dirname + '/public')
app.use express.cookieParser()
app.use express.session {secret: "Coffeebreak" }
einfügen nach app.get '/', (request, response) ->
request.session.views++
ersetzen
response.render 'index', { title: request.session.views + ': Express with Coffee and sessions' }
$ coffee -c app2.coffee
$ node app2.js
Prüfen Sie https://127.0.0.1:3000 und aktualisieren Sie ein paar Mal. Sie sollten sehen, dass sich der Zähler erhöht.
Installieren Sie Redis
Öffnen Sie ein neues Terminal.
$ wget https://redis.googlecode.com/files/redis-2.2.11.tar.gz
$ tar -zxvf redis-2.2.11.tar.gz
$ cd redis-2.2.11/
$ sudo apt-get install build-essential
$ make
$ ./src/redis-server
Redis-Sitzung zum Knoten hinzufügen
$ npm install -d redis connect-redis
$ vi app2.coffee
einfügen nach express = require 'express'
RedisStore = require('connect-redis')(express)
ändern
app.use express.session {secret: "Coffeebreak", store: new RedisStore, cookie: { maxAge: 60000 } }
$ coffee -c app2.coffee
$ node app2.js
Im Redis-Terminal sollten Sie nun etwas wie folgt sehen:
[25489] 24 Jun 04:57:11 - DB 0: 1 keys (1 volatile) in 4 slots HT.
[25489] 24 Jun 04:57:11 - 1 clients connected (0 slaves), 799032 bytes in use
Prüfen Sie https://127.0.0.1:3000 und aktualisieren Sie mehrmals
töten und starten Sie den Knoten neu
$ node app2.js
Prüfen Sie https://127.0.0.1:3000 erneut und aktualisieren Sie ein paar Mal
Beachten Sie, dass Sie dort begonnen haben, wo Sie aufgehört haben.
Und damit sind wir am Ende dieser Anleitung angelangt. Wie Sie sehen können, ist der Stack sehr leistungsfähig und extrem klein, leichtgewichtig und sauber. Mit all den Sitzungsinformationen im Redis-Speicher hängt die Verfügbarkeit des gesamten Systems von der Verfügbarkeit von Redis ab. Und da diese Jungs an einer richtigen Clustering-Lösung arbeiten, wird es sehr interessant sein, zu sehen, wohin sich all dies in naher Zukunft entwickeln wird. Verfasst von

Erwin van der Koogh
Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



