ドキュメント
Node.js
Node.js は Web 開発者の間で人気が高まっています。ホスティングの選択肢が限られるため、専用サーバーや VPS 向けであることが多いですが、小規模プロジェクトでも VPS は手が届きます :)
詳しいドキュメントは nodejs.org を参照してください。
Node.js のグローバルパッケージフォルダは *\winginx\nodejs\node_modules* です。
NPM、Web フレームワーク Express.js、テンプレートエンジン Jade が同梱されています。
Node-Inspector で Node.js スクリプトをデバッグできます。http://localhost:8080/ から利用します(WebKit 系ブラウザ、例: Google Chrome が必要)。
データベース用パッケージ MongoDB と MySQL も含まれます。
PHP と違い Node.js はインタプリタではなく単体サーバーとして動作します。nginx と組み合わせると、動的処理は Node.js、静的ファイルは nginx が担当します。
例:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
このスクリプトを home/nodejs.local/server.js に保存します。
nginx の設定例:
server {
listen 127.0.0.1:80;
server_name nodejs.local www.nodejs.local;
root home/nodejs.local/public_html;
index index.html;
log_not_found off;
charset utf-8;
location / {
if (!-e $request_filename) {
proxy_pass http://localhost:1337;
}
}
}
proxy のポートは Node.js が listen しているポートと一致させてください。
Winginx に Node.js サーバーを登録するには Winginx TM を使うか、nodejs\node.conf に次の行を追加します。
server = home/nodejs.local/server.js
Winginx 再起動後、http://nodejs.local/ でアクセスできます(hosts に nodejs.local を追加してください)。
1 つのサイトで Node.js と PHP を併用できる?
はい。PHP 用と Node.js 用の URL を分けます。
例: サイト全体は PHP、チャットだけ Node.js(http://site.local/chat/)。location /chat/ で Node.js に渡します。設定例は こちら