LoginSignup
5
8

More than 1 year has passed since last update.

AWSのEC2インスタンスでNode.jsのアプリを作った時のメモ

Last updated at Posted at 2018-03-06

はじめに

Node.jsで書いたアプリをローカルだけでなくサーバーで動かしたかった.
AWSのEC2の無料枠を使ってうまいことやりたい.
一旦リンクとつまづいたところをメモしておく(後日整形して綺麗にまとめたい)

EC2インスタンス立ち上げ

  • サービス -> コンピューティング -> EC2 -> インスタンスの作成
  • Amazon Linux AMI 2017.09.1 ~ のやつ選択
  • インスタンスのセキュリティグループ設定を編集 -> インバウンドにHTTPを追加

SSH / SFTP 接続の仕方

  • pemファイルをダウンロード(なぜか.txtなので.pemにする)
  • chmod 400 [ファイル名].pemをやっておく
$ ssh -i [.pemへの絶対パス] ec2-user@[パブリック DNS (IPv4)]
$ sftp -i [.pemへの絶対パス] ec2-user@[パブリック DNS (IPv4)]

SSH接続時,$より前の部分の名前を変える方法

/home/ec2-userディレクトリの中の.bashrcを編集

# .bashrc

PS1="\[\033[36m\]ユーザー名とか:\W $ \[\033[0m\]"

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions

こんな感じにする.
# Source global ~より後の部分より先にPS1~のコマンドを書かないと反映されない

SSH接続してとりあえずやること

  • $ sudo yum update システムアプデ
  • $ sudo yum -y install gcc-c++ gccインスコ
  • $ sudo yum -y install git gitインスコ
  • $ git clone https://github.com/creationix/nvm.git ~/.nvm nvmインスコ
  • nvmのパスを通す
追記する
# nvm
if [[ -s ~/.nvm/nvm.sh ]] ; then
        source ~/.nvm/nvm.sh ;
fi

node.jsの導入

  • $ nvm install [バージョン番号]
  • $ nvm use v[バージョン番号]

forever.jsの導入

$ npm install forever -g

Nodeのデーモン化

  • $ forever start [nodeファイル.js] 開始
  • $ forever stop [nodeファイル.js] or ジョブ番号 停止
  • $ forever list ジョブ一覧

Apache2.4の導入

yum list | grep httpd24
sudo yum install -y httpd24
sudo service httpd start

バーチャルホストの設定

  • ドメインを手に入れる(お名前.comを使う場合は)
  • Apacheをセットアップする
    • $ sudo yum install httpd
    • $ sudo chkconfig httpd on
  • /etc/httpd/conf/httpd.confを編集

末尾に追加

NameVirtualHost *:80
<VirtualHost *:80>
    #DocumentRoot /var/www/[ディレクトリパス]
    ServerName [とったドメイン]
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

3000はnodeアプリを動かすポート番号

Apacheの再起動
sudo service httpd restart

ImageMagickのインストール

ImageMagickの最新版をEC2にインストールする

参考

AWS EC2でNodeを動作させる
Linux上でNode.jsを常駐化する方法
Amazon EC2でnode.js,Expressアプリケーションを立ち上げる

Amazon LinuxにApacheをセットアップする方法
[Sy] Amazon Linux + Apache2.4系 でのバーチャルホストの設定方法

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8