Node.jsをSAKURA Internetの「さくらのVPS」で使えるように設定してみました。
なにかと話題のNode.js。FlashやCreateJSなどのインタラクティブコンテンツと連動させたら、面白そう!ということで触ってみたのですが、いざインターネットで公開するとなると、多くのレンタルサーバー上では使えないことがわかりました。
root権限が必要なのです。
そこで、SAKURA Internetの「さくらのVPS」を契約して、設定してみました。
今回はインディゴデザインの五十嵐さんに無理を言って教えてもらいました。
五十嵐さん、ありがとうございました!
http://www.idw.jp/
以下、習ったことのメモです。
Node.js自体の説明はしません。
主に自分向けのメモなので、第三者からするとわかりにくいとは思いますが、ご容赦ください。
アカウント情報
さくらのVPSを契約して、次のようなアカウントが発行されたとします。
[サーバ基本情報]
IPアドレス:133.242.123.45[管理用ユーザ]
ユーザ名 :admin
初期パスワード:abcdefg
SSH接続
Tera Termを使う。
http://ttssh2.sourceforge.jp/
Tera Termを起動して、次の画面のように133.242.123.45に接続。
SSHのデフォルトポートは22番なのでポート番号は変更不要。
username:admin
pass:abcdefg
と入力して、SSHで接続する。
node.jsのインストール
node.jsファイルのコピー
http://nodejs.org/download/
でSource Codeのリンクアドレスのコピーをしておく(今回はバイナリーではない)。
例:http://nodejs.org/dist/v0.10.8/node-v0.10.8.tar.gz
Tera Termで次のように入力。
1 |
wget http://nodejs.org/dist/v0.10.8/node-v0.10.8.tar.gz |
これで、ソースファイルがコピーされたはず。
lsでファイルがコピーされたことを確認する。
ファイルの展開
tarをgzipで固めている状態なので、展開(解凍)する必要がある。
tarに、zxfというコマンドオプションを付けることによって、gzipを展開する。
1 |
tar zxf node-v0.10.8.tar.gz |
lsで解凍されているのを確認する。
青色の文字はディレクトリ。
白色の文字はファイル。
赤色は圧縮されたファイル?(未確認)
解凍したディレクトリに移動する。
1 |
cd node-v0.10.8 |
README.mdを読む
lessを使うとテキストを表示できる。
1 |
less README.md |
READMEの中には、必要なものやインストール方法が記されている。
Evented I/O for V8 javascript. [![Build Status](https://secure.travis-ci.org/joyent/node.png)](http://travis-ci.org/joyent/node)
===### To build:
Prerequisites (Unix only):
* GCC 4.2 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)Unix/Macintosh:
./configure
make
make installIf your python binary is in a non-standard location or has a
non-standard name, run the following instead:export PYTHON=/path/to/python
$PYTHON ./configure
make
make installWindows:
vcbuild.bat
### To run the tests:
Unix/Macintosh:
make test
Windows:
vcbuild.bat test
### To build the documentation:
make doc
### To read the documentation:
man doc/node.1
Resources for Newcomers
—
– [The Wiki](https://github.com/joyent/node/wiki)
– [nodejs.org](http://nodejs.org/)
– [how to install node.js and npm (node package manager)](http://joyeur.com/2010/12/10/installing-node-and-npm/)
– [list of modules](https://github.com/joyent/node/wiki/modules)
– [searching the npm registry](http://npmjs.org/)
– [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)
– [node.js mailing list](http://groups.google.com/group/nodejs)
– irc chatroom, [#node.js on freenode.net](http://webchat.freenode.net?channels=node.js&uio=d4)
– [community](https://github.com/joyent/node/wiki/Community)
– [contributing](https://github.com/joyent/node/wiki/Contributing)
– [big list of all the helpful wiki pages](https://github.com/joyent/node/wiki/_pages)
less上で操作を間違えてよくわかんなくなったら「q」(quit)。
ファイルの確認
必要なものが入っているかの確認。
README.mdによると、次のものが必要。
GCC 4.1 or newer
Python 2.6 or 2.7
GNU Make 3.81 or newer
gccのインストール確認
1 |
rpm -qa gcc |
gcc-4.4.7-3.el6.x86_64と返えしたので入ってることを確認できた。
pythonのインストール確認
1 |
python --version |
(python -vとした場合は、quit()で抜ける)
Python 2.6.6と返したので入ってることを確認できた。
GNU Makeはまあ入っているだろう、ということで飛ばした。
インストール(Unixの場合)
README.mdによると、次の手順。
./configure
make
make install
インストールの準備
1 |
./configure |
ソースからバイナリーを作る。
1 |
make |
(5分くらいかかった)
インストール
1 |
make install |
インストール完了!
動作確認
FTPでアップロードして、実行したら動作確認ができた。
FTPでアクセス
SFTPを使えば、FTPソフトでもディレクトリを閲覧、書き込み、消去できる。
ここでは、FileZillaを使った。
foreverで永続的に起動する。
PC上と同じように起動できたのは良いんだけど、コンソールを落とすと終了しちゃうんじゃ困る。ウェブサービスとしては起動しっぱなしじゃなきゃ、意味がない。
そんな目的にはforeverを使うと良いらしい。
参考:foreverを使ったnode.jsのサービス運用 | なんてこったいブログ
http://nantekottai.com/2011/08/15/node-js-based-service-with-forever/
foreverのインストール
1 |
npm install forever -g |
app.jsを永続的に起動。
1 |
forever start app.js |
永続的に起動したアプリ一覧を表示する。
1 |
forever list |
一覧の0番目のアプリを終了させる。
1 |
forever stop 0 |
メモ
バージョンを指定してインストール
1 |
npm install express@2.5.11 |
Unixコマンド
- mkdir ディレクトリを作る
- ls ディレクトリ一覧を表示
- cd ディレクトリ移動
- rm ファイルの消去
- rm -r ディレクトリを消去(全ファイルに対して確認がある)
- rm -rf ディレクトリを強制消去(確認なし)
- which 場所確認(パスの通っているアプリの場所を表示)
hogeディレクトリを作る
1 |
mkdir hoge |
ファイルの消去
1 |
rm node-v0.10.8.tar.gz |
とすると、次のような確認が出る。
1 |
rm: remove regular file `node-v0.10.8.tar.gz'? |
続けて、yと入力し、Enterを押すと、削除される。
1 |
rm: remove regular file `node-v0.10.8.tar.gz'? y |
ディレクトリの消去
1 |
rm -r node-v0.10.8 |
全部消していいか確認が出る。
ディレクトリの強制消去
1 |
rm -rf node-v0.10.8 |
とすると、強制的に消せる。確認しない。
node場所確認
1 |
which node |
パスの通っているアプリのインストールされた場所を表示