[AWS] 手順に沿った画像付きでAmazon EC2にNode.js, Express環境の構築する

アイキャッチ AWS EC2

おばんです、自分がメガネっ娘好きということでずっと自分自信もメガネでの生活をしてきていたのですが、この度ついにコンタクトデビューをしました田中です。メガネも相変わらず好きなのですが、今年はイメチェン年間を意識しています。

今回の記事はEC2がすでに起動されているところからスタートします。以下の二つの記事を参考にやってみました。手順に沿った画像付きで紹介します。

対象読者

  • とりあえずEC2はたてられたので、サクッと動くものを入れてみたい人
  • Node.js, Express環境を構築してみたい人
  • ターミナルに慣れていないけど環境構築をしてみる人

Node環境を入れるための事前準備

ターミナルでEC2に指定したKeyPairを使ってSSHでログインする

$ ssh -i <KeyPairのファイルパス> ec2-user@<EC2のIPアドレス>

ログインするとこんな画面。

スクリーンショット_2016-11-30_17_02_30

yumのアップデート

$ sudo yum update

実行するとこんな画面。容量がこれだけかかるが、実行しても良いかと聞かれるので、yを入力する。

スクリーンショット_2016-11-30_17_08_28

完了すると「完了しました!」と出る。

スクリーンショット 2016-11-30 17.09.54

環境構築に必要なパッケージをインストールする

$ sudo yum install git gcc-c++ make openssl-devel

実行するとこんな画面。容量がこれだけかかるが、実行しても良いかと聞かれるので、yを入力する。

スクリーンショット 2016-11-30 17.12.34

完了すると「完了しました!」と出る。

スクリーンショット 2016-11-30 17.13.37

Nodeをインストールする

nvmをインストールする

$ git clone git://github.com/creationix/nvm.git .nvm

実行するとこんな画面。

スクリーンショット 2016-11-30 17.18.13

ls -aで見てみると確かに入っていることが確認できます。

スクリーンショット 2016-11-30 17.18.38

.nvmの中のシェルスクリプトをrunさせてnvmを使えるようにする

$ source ~/.nvm/nvm.sh

インストールできるnodeのバージョンを確認する

$ nvm ls-remote

実行するとこんな画面。縦にずらっと並びます。

スクリーンショット 2016-11-30 17.20.37

任意のバージョンのNodeをインストールする

今回はバージョン確認の際にLatest LTS: Boronと書かれていたv6.9.1をインストールします。

$ nvm install v6.9.1

実行するとこんな画面。

スクリーンショット 2016-11-30 17.23.52

指定したバージョンのNodeがインストールされたか確認する

バージョン番号を表示して確認してみます。

$ node -v

実行するとこんな画面。

スクリーンショット 2016-11-30 17.25.25

nvmのデフォルトバージョンにインストールしたバージョンを指定する

$ nvm alias default v6.9.1

実行するとこんな画面。

スクリーンショット 2016-11-30 17.27.12

Expressをインストールする

express generatorをインストールする

$ npm install express-generator -g

実行するとこんな画面。

スクリーンショット 2016-11-30 17.28.58

expressアプリケーションを作成する

express <アプリケーション名>でプロジェクトを作成できる。

$ express myapp

実行するとこんな画面。

スクリーンショット 2016-11-30 17.30.37

アプリケーションディレクトリに移動して、npmパッケージをインストールする

$ cd myapp && npm install

実行するとこんな画面。 インストールするNodeのパッケージがずらずらと並びます。

スクリーンショット 2016-11-30 17.32.31

スクリーンショット 2016-11-30 17.32.42

Expressを起動する

ExpressでWebサーバーを起動します

$ node ./bin/www

実行するとこんな画面。なにも表示されていないけれどこれでオーケー。待ち状態。

スクリーンショット 2016-11-30 17.35.02

ブラウザで確認する

http:[インスタンスのグローバルIPアドレス]:3000に対してWebでアクセスします。

実行するとこんな画面。

スクリーンショット 2016-11-30 17.37.18

ターミナルの方で待機しているWebサーバーの反応はこんな感じ。レスポンスが表示されます。

スクリーンショット 2016-11-30 17.38.16

まとめ

以上でEC2, Node.js, Expressを用いたWebサーバーの環境構築ができました。

環境構築は最初の山ですがNode.js, Expressは記事も豊富でセットアップが簡単でした。あとはNode.jsでWebAPIやアプリケーションを作るなりcssやjadeを編集してwebページを公開するなり、煮るなり焼くなりご随意に!良きWeb開発を!

参考