LoginSignup
3
1

More than 5 years have passed since last update.

Meteor 1.4以上のアプリをAWS EC2へ簡単デプロイ

Posted at

Javascript Fullstack framework Meteor。開発時はめっちゃ便利なんですが、運用環境へのDeployがむっちゃ大変--;。そういう方向けのシンプルなDeploy方法です。

1 はじめに

Amazon EC2のUbuntu環境へMac book ProからDeployする方法です。
MeteorのDeploy方法はMeteor DevelopersのDeployment and Monitoringを見ると色々とありますが、この中でMeteor Up(mup)を利用する方法を説明します。
このツールは、Deploy先のクラウド環境に、Meteorアプリケーションの実行用仮想化環境をDockerを用いて自動構築しその上にアプリケーションをDeployしてくれます。
ですので、Deploy先の環境でDockerを利用されている方はご注意ください。

2 準備

以下、全てmacで実行します。

2.1 mupのインストール

利用するmupは、Meteorのバージョンによって異なります。

(1) The mupx branch (best for pre-Meteor 1.4)
(2) The kadirahq/mup fork (best for Meteor 1.4 or higher)

今回は、Meteor 1.4以上なので、(2)を利用します。
mupをインストール

npm install -g mup

次に、Meteorアプリのフォルダに移動".deploy"フォルダを作ってその下で、mup initを実行。初期ファイルが生成されます。

cd my-app-folder
mkdir .deploy
cd .deploy
mup init

続いて、自動生成された、mup.jsを以下の通り編集。フルパス指定が必要となる癖のある設定ファイルなので注意してください。

mup.js
module.exports = {
  servers: {
    one: {
      host: 'a.b.c.d', // awsのpublic ip
      username: 'ubuntu',
      pem:"/Users/xxx/xxx.pem" // ssh接続で利用するpemのフルパス
    }
  },

meteor: {
    name: 'my-app-folder',
    path: '/Users/xxx/my-app-folder', //アプリのフルパス
    servers: {
      one: {}, two: {}, three: {} // list of servers to deploy, from the 'servers' list
    },
    buildOptions: {
      serverOnly: true,
      debug: true,
      // cleanAfterBuild: true, // default
      buildLocation: '/Users/xxx/my-app-folder', // defaults to /tmp/<uuid> //デプロイ用テンポラリファイル生成先のフルパス
    },
    env: {
      ROOT_URL: 'http://a.b.c.d',
      MONGO_URL: 'mongodb://localhost/meteor'
    },
    deployCheckWaitTime: 60 //default 10
  },

  mongo: { // optional
    oplog: true,
    port: 27017,
    servers: {
      one: {},
    },
  },
};

設定が終われば下記を実行します。

mup setup

すると、mupがAWS EC2へSSH接続し、DockerのインストールからMeteorの基本環境まで自動セットアップします。処理が完了すると、以下を実行。

mup deploy

Meteorのアプリビルドが開始され、ビルド後自動的にアプリがEC2へアップロードされ起動します。そのあと、ブラウザからhttp://a.b.c.dにアクセスするとアプリの画面が見られるはずです。
なお、アプリはport 80番で公開されるので、ご注意ください。

アプリの停止は、mup stop、起動は、mup startです。

3
1
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
3
1