はじめに
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 gitgitインスコ -
$ git clone https://github.com/creationix/nvm.git ~/.nvmnvmインスコ - 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のインストール
参考
AWS EC2でNodeを動作させる
Linux上でNode.jsを常駐化する方法
Amazon EC2でnode.js,Expressアプリケーションを立ち上げる
Amazon LinuxにApacheをセットアップする方法
[Sy] Amazon Linux + Apache2.4系 でのバーチャルホストの設定方法