pig's diary

何でも忘れるので万年初心者ね

自分のサイトをNodejs化、さくらVPSで

自分のサイトのコンテンツは皆無に等しいです。あるとしたらjQueryプラグインのflickGalをホストしているくらいです。
このサイトを、Nodejs 化しました。理由は、特にないです。

環境

  • さくらVPS Cent OS(1,000円/month)
  • node v0.4.10。 nvm を使用。楽。
  • express と jade
  • デーモンはforever を使用。楽。
  • サイトのnode プロジェクトを、github のプライベートrepo で管理($7/month)。ローカルは node-dev で開発し、GitHub for Mac でcommit(楽〜)、さくらVPS のrepo で git-pull して更新

ん? と思ったところ

  • ログインアカウント(rootでない)だと、80 ポートのアプリを起動できない。3000 を起動し、iptabes で、80 を3000 にリダイレクト。
  • はじめ、プロジェクトフォルダを /var/ 配下に置いてました。でもこれだとなぜか github に接続できません。ログインアカウントの公開鍵をgithub に登録しているのに。鍵の基本ルールなんでしょうか? $HOME/github/ 配下にclone しました。

PHP からNodejs に移行

  • テンプレートをSmarty から jade へ。分かりやすいし楽。もうタグなんて書かない
  • 外部データのファイルキャッシュを、PEAR Cache_Lite から cache2file へ。これも、分かりやすい。楽。キャッシュ読み込み・書き込みの非同期処理を書くのが楽しかった。

  • サーバ側もクライアント側も、フルcoffeescript 。なんかこれ以上のラクが果たして可能なのか? と勝手に思ってます
  • サーバ側もクライアント側も、underscore.js 。coffee があるから _.forEach とかは使わないんですけど、クライアント側で _(fn).bind() とかするときに使います。あと、必要なutil はunderscore を拡張します。関数が全部ここにあつまるから安心感。

課題

  • 404ページ の書き方がわからないでいる。
  • コンテンツを増やそうよ。
  • とりあえず目的は無いんだけどSocket.io したい。