ドキュメント

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 に渡します。設定例は こちら

Winginx © Alexei Shabalin, 2011-2023