今回は、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 |
関連記事
コメントを残す