nginxでnode.jsを使う

node.js + nginx - And now?に書いてある通りにやればいい。

でもコメント見たら

location / { proxy_pass http://127.0.0.1:3000; }

だけでいいんじゃないの?って書いてあったので、試してみたらそっちでも動いた。ちょっとうごかしたいだけだったらこれでいいかな。

あとはforeverで動かせばいいみたい。

nginxの設定ファイルはapacheよりも分かりやすそうなので、さくらVPSでこのブログ(Flask製)動かしてるapacheもnginxに変えちゃおうかなぁと思った。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )


Socket.IOのサンプルをCoffeeScriptで書きなおしてみた

WebSocketから、これからのWebを予想してみるを読んで思うところがあったので、年末年始にHTML5 APIガイドブック コミュニケーション系API編を読み直してみたら、色々再発見があったり、一周目で理解が曖昧だった部分がきちんと理解できたりして、有意義な正月を過ごせた。

ProductName 徹底解説 HTML5 APIガイドブック コミュニケーション系API編
小松 健作
秀和システム / 2730円 ( 2010-12 )


最終日をダラダラと過ごしつつ、Socket.IOのサンプルをCoffeeScriptで書きなおしてみた。

handler = (req, res) ->
  fs.readFile(__dirname + '/index.html',
  (err, data) ->
      if err
        res.writeHead(500)
        res.end('Error loading index.html')
      res.writeHead(200)
      res.end(data))

app = require('http').createServer(handler)
io = require('socket.io').listen(app)
fs = require('fs')

io.sockets.on('connection',
  (socket) ->
    socket.emit('news', { hello: 'world' })
    socket.on('my other event', (data) -> console.log(data)))

app.listen(5000)

やっぱブラウザがデスクトップみたいな位置付けになってwebsocketを使ったプログラミングが主流になるんだったら、結局以前のようなソケットプログラミングに回帰してしまって何も変わらない気がするんだが、抽象度が上がるとなんか変わるんだろうか?そこがいまいちイメージできない。

デスクトップという概念が変わるのかなぁ(あれはデバイス依存な概念な気がするし)。そういえばMetro UIは(従来の)デスクトップぽくなかったしなぁ。

デバイスといえばNode.jsでArduinoにアクセスできることを知ったのでなかなか面白いことができそう。

Arduinoとリアルタイムなウェブって相性良さそうですな。

ところで、三連休の最終日に静岡デベロッパーズつくる会#4をやるので、正月休みでなまった身体のリハビリに黙々となんか作るのはどうですかね?暇人お待ちしています。

Ubuntuにnginxを入れてみた

Nginx+Node.jsの環境が欲しくなったが、とりあえずちょっと遊びたいだけなので、使ってないUbuntu(Let's Note R4)に入れてサーバーにしてみた。

契約しているプロバイダが固定IPなのでこういう時に便利。

Nginxのインストールは

sudo aptitude install nginx

そしてNodeをインストールするときのエラーはここみて解決。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )