what is ‘express’ ?
-> Fast, unopinionated, minimalist web framework for Node.js
$ sudo npm install express -g
$ sudo npm install -g express-generator
$ express -h
$ express sample
$ cd sample
$ npm install
$ DEBUG=sample:* npm start
http://192.168.33.10:3000/
app.js
var express = require('express'), app = express(); // app.use(app.router); app.get('/', function(req, res){ res.send('hello world'); }); app.get('/wine', function(req, res){ res.send('JACOB\'S CREEK'); }); app.listen(3000); console.log("server starting ... ")
app.get('/users/:name', function(req, res){ res.send('hello' + req.params.name); });
app.get('/users/:name?', function(req, res){ if (req.params.name){ res.send('hello ' + req.params.name); } else { res.send('hello nobady!'); } });
リクエストに対してルーティングをやっていることはわかるが、サーバーの記述がよくわからない。apacheのように、サーバーを立てているのか? 既存のサーバー環境(nginx, apache等)で動かす場合は、どういう記述になるのか?
-> Node.jsをサービス化(デーモン化)して、nginxまたはApacheからリバースプロキシで接続
リバースプロキシとは?
->特定のサーバへのリクエストが必ず通過するように設置されたプロキシサーバ
ん? いまいちよくわかりません。