Z Cloudでnodejsを動かす
前エントリ Objective-Cでsocket.ioクライアントを書いてみた で作成したsocket.ioクライアントをiPhoneアプリから3G経由でテストしたいのでZ CloudのSmartOSを借りてみました。
コースは一番安いSmall 1にしてみたんですが、どんな感じかというと
- OSはSmartOSはOpenSolarisベースのJoyent社によるカスタム
- CPUは1コア、状況に応じて2コアに拡張
- メモリは1G
- ディスクは30GでRAID5相当の冗長化構成
- root権限とグローバルIP
- ネットワーク転送量は月間20TBまで。超えたら応相談
- 料金はマシンの起動時間に応じて。1時間8.5円(税込み)
ということで複雑な料金計算もなく煙草を一本我慢すれば3時間動かせるというリーズナブルな感じです。
PaaSは他にもたくさんあるのですが、今回はwebsocketを使える事が大前提だったのでここにしてみました。
でオンラインから申し込んですぐに利用可能となりました。
さっそく管理画面から公開鍵を登録してsshでログイン。
インストール可能なパッケージにnodejsがあることを確認します。
# pkgin search nodejs nodejs-0.6.6 Evented I/O for V8 javascript nodejs-0.4.12 Evented I/O for V8 javascript
0.6.6をインストール。
# pkgin in nodejs-0.6.6
npmも一緒にインストールされて利用可能となりました。
nodejs用のサービスmanifestを確認してみます。
# vi /opt/local/share/smf/manifest/node.xml
自分はsolarisに疎いのですがnode用のサービスインスタンスexampleが定義済みで、/home/node/<インスタンス名>/server.jsを起動するようになっているようです。
ということで/home/node配下にexampleディレクトリを作成しその下にserver.jsを作成します。
exampleのserver.jsをサービスとして有効にします。
# svcadm enable node:example
無事server.jsが起動しました。