AWSのt1.microでnode.jsを使用してみる

今回は、AWSでnode.jsを使用してみます。


node.jsのインストール

必要なソフトウェアをgitからインストールしたいので、まずはgitをインストールします。
コマンドは”sudo yum install git -y”で、最後にComplete!になればOKです。

sudo yum install git -y
 
 
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest                                                  | 2.1 kB     00:00
amzn-updates/latest                                               | 2.3 kB     00:00
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.3.1-2.37.amzn1 will be installed
--> Processing Dependency: perl-Git = 1.8.3.1-2.37.amzn1 for package: git-1.8.3.1-2.37.amzn1.x86_64
--> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-2.37.amzn1.x86_64
--> Processing Dependency: perl(Git) for package: git-1.8.3.1-2.37.amzn1.x86_64
--> Processing Dependency: perl(Error) for package: git-1.8.3.1-2.37.amzn1.x86_64
--> Running transaction check
---> Package perl-Error.noarch 1:0.17020-1.7.amzn1 will be installed
---> Package perl-Git.noarch 0:1.8.3.1-2.37.amzn1 will be installed
---> Package perl-TermReadKey.x86_64 0:2.30-18.8.amzn1 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
==================================================================================
 Package                    Arch       Version                  Repository   Size
==================================================================================
Installing:
 git                        x86_64     1.8.3.1-2.37.amzn1       amzn-main   7.8 M
Installing for dependencies:
 perl-Error                 noarch     1:0.17020-1.7.amzn1      amzn-main    32 k
 perl-Git                   noarch     1.8.3.1-2.37.amzn1       amzn-main    55 k
 perl-TermReadKey           x86_64     2.30-18.8.amzn1          amzn-main    32 k
 
Transaction Summary
==================================================================================
Install  1 Package (+3 Dependent packages)
 
Total download size: 7.9 M
Installed size: 19 M
Downloading packages:
(1/4): git-1.8.3.1-2.37.amzn1.x86_64.rpm                      | 7.8 MB     00:00 
(2/4): perl-Error-0.17020-1.7.amzn1.noarch.rpm                |  32 kB     00:00 
(3/4): perl-Git-1.8.3.1-2.37.amzn1.noarch.rpm                 |  55 kB     00:00 
(4/4): perl-TermReadKey-2.30-18.8.amzn1.x86_64.rpm            |  32 kB     00:00 
---------------------------------------------------------------------------------
Total                                                6.8 MB/s | 7.9 MB  00:00:01 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:perl-Error-0.17020-1.7.amzn1.noarch                      1/4 
  Installing : perl-TermReadKey-2.30-18.8.amzn1.x86_64                    2/4 
  Installing : git-1.8.3.1-2.37.amzn1.x86_64                              3/4 
  Installing : perl-Git-1.8.3.1-2.37.amzn1.noarch                         4/4 
  Verifying  : perl-Git-1.8.3.1-2.37.amzn1.noarch                         1/4 
  Verifying  : 1:perl-Error-0.17020-1.7.amzn1.noarch                      2/4 
  Verifying  : git-1.8.3.1-2.37.amzn1.x86_64                              3/4 
  Verifying  : perl-TermReadKey-2.30-18.8.amzn1.x86_64                    4/4 
 
Installed:
  git.x86_64 0:1.8.3.1-2.37.amzn1                       
 
Dependency Installed:
  perl-Error.noarch 1:0.17020-1.7.amzn1               perl-Git.noarch 0:1.8.3.1-2.37.amzn1
  perl-TermReadKey.x86_64 0:2.30-18.8.amzn1          
 
Complete!



次にnode.jsをインストールしたいところですが、その前にnvm(Node Version Manager)を入れます。
nvmを経由でnode.jsを利用することで、node.jsのバージョン切り替えが容易になります。

git clone git://github.com/creationix/nvm.git ~/.nvm
 
Cloning into '.nvm'...
remote: Counting objects: 1541, done.                   
remote: Compressing objects: 100% (762/762), done.      
remote: Total 1541 (delta 789), reused 1502 (delta 762) 
Receiving objects: 100% (1541/1541), 281.79 KiB | 156.00 KiB/s, done.
Resolving deltas: 100% (789/789), done.



インストールが終わったら,”source ~/.nvm/nvm.sh”で、nvmを利用可能にします。
–versionオプションでバージョンのチェックが可能です。

source ~/.nvm/nvm.sh
 
[ec2-user@ip-172-xx-xx-xx .nvm]$ nvm --version
0.10.0



nvmを使用して、指定したバージョンのnode.jsをインストールします。

[ec2-user@ip-172-xx-xx-xx .nvm]$ nvm install 0.10.0
######################################################################## 100.0%
Now using node v0.10.0



念のためにnode.jsのバージョンを確認します
ちなみに2回目以降はinstallしなくても”node use 0.10.0″で利用できます。

[ec2-user@ip-172-xx-xx-xx .nvm]$ node --version
v0.10.0



動作確認用のプログラムを適当に作成します。

[ec2-user@ip-172-xx-xx-xx ~]$ cat test.js
var http = require('http');
var onRequest = function(req,res){
        console.log( "request received." );
        res.end('Hello world' )
};
 
var app = http.createServer( onRequest ).listen(3000);
console.log( "start server" );



node.jsで作ったプログラムを起動します

[ec2-user@ip-172-xx-xx-xx ~]$ node test.js
start server




ブラウザからアクセスするために,ポートを開放する

上記のプログラムは、3000番のポートで接続を待ち受けますが、aws側はデフォルトではすべてのポートが閉じられています。
ですのでポート開放の作業が必要となります。

EC2の起動インスタンス一覧を開き、右端にあるSecurity Groupsを選択します。



inboundに3000番ポートを追加します。



以下のように追加されていればOKです。




接続先のIPアドレスは、EC2 Dashboardに記載されたPublic IPで確認できます。



動作確認

ブラウザから確認したアドレスにアクセスすると、プログラムの実行結果を確認できます。



作業の途中で行ったnvmコマンドはログアウトすると忘れてしまうので、
ログインしなおした場合は、下記のコマンドで再度プログラムを実行できます。

~/.nvm/nvm.sh
nvm use 0.10.0
node test.js

関連記事

コメントを残す

メールアドレスが公開されることはありません。