AWSでNode.js、socket.ioの設定した時のメモ
サーバーサイドはそんなに詳しく無いんだけども設定してみた。
間違ってることもあるかもしれないけど今後のためにメモ。
scoketを80番ポートで使うためにはrootでNode.jsを動かす必要がある。
そのためにはいろいろとrootでやらないといけない。
というわけでrootへ。80じゃなくてもいい場合は省略。
sudo su -
サーバのアップデートだって。
yum update
gitのインストール
yum install git
nvm(Node Version Manager)をダウンロード
git clone git://github.com/creationix/nvm.git .nvm
パスを通してるのかな??
. .nvm/nvm.sh
バージョン指定してnode.jsのインストール
nvm install v0.10.27
nvm use v0.10.27
socket.ioのインストール
「-g」をつけるといいことがある。
npm install -g socket.io
expressのインストール
(どこかで見つけたsocket.ioのサンプルで使ってたので)
npm install -g express
デーモンで動かすためのforeverというのをインストール
npm install -g forever
foreverを使ってnode.jsを起動
forever start app.js
app.jsはherokuでやったやつとほぼ同じ。ポートを80にしてる。
●困ったときは
・nodeとかnpmとか「コマンドが見つかんない」っていうエラー
パスを通す必要がある。
bash_profileとかで設定しろっていうのを見かけるけど、それがイマイチ分からないんですよ。
どこかで見つけたシンボリックリンク(エイリアス)を作る方法で。
ln -s [パス]/.nvm/v0.10.27/bin/node /usr/bin/node
ln -s [パス]/.nvm/v0.10.27/lib/node /usr/lib/node
ln -s [パス]/.nvm/v0.10.27/bin/npm /usr/bin/npm
ln -s [パス]/.nvm/v0.10.27/bin/node-waf /usr/bin/node-waf
ln -s [パス]/.nvm/v0.10.27/bin/forever /usr/bin/forever
ln -s [パス]/.nvm/v0.10.27/bin/npm /usr/bin/npm
インストール直後はパス通ってるけど一回SSH切ってつなぎ直すと
パスが通らなくなってるので設定は必要。
または再度インストール。
・なんか動いてない
foreverを使うとapp.jsにエラーがあってもforever自体は動いちゃいます。
普通に
node app.js
で起動するとエラーが見れる。
・Basic認証を使いたい
「.htaccess設置するか・・・・Apacheじゃなかった!」ってなります。
express.basicAuthを使うのが簡単。
でも最新のexpress4.xでは無くなっている。。ので3.xを使う。
npm install -g express@3.x
とやると3.xがインストールできる。
ただこれだと「expressが見つかんないよ」っていうエラーが出たりする。
「.nvm/v0.10.27/lib/node_modules」にexpressが無いとダメっぽい。
npm install express
とやると「.nvm/v0.10.27/lib/node_modules」にインストールされた。(-gオプション無し)
インストールされたのは4.xだけど3.xのまま使えた。
よく分かりません。
npm install -g
だけでインストールするとpackage.jsonに書かれたバージョンがインストールされるので最初からそれでやればいいのかも。
↓書く順番大事
app.use(express.basicAuth('userid', 'password'));
app.use(express.static(__dirname + '/htdocs/'));
「ワンクリック」読みました。
AWSって2002年からあったんだね。。
- 作者: リチャード・ブラント,滑川海彦(解説),井口耕二
- 出版社/メーカー: 日経BP社
- 発売日: 2012/10/18
- メディア: 単行本
- 購入: 7人 クリック: 99回
- この商品を含むブログ (25件) を見る