//ルートにアクセスされたら/archiveにリダイレクトする

エイリーの備忘録

開発について書いていこうと思っています。

meteorのプロジェクトをpassengerで二回目以降のデプロイ

meteorのプロジェクトの二回目以降のデプロイ方法を書かせていただきます。
初回のデプロイと二回目のデプロイは微妙にすることが違うのでご注意ください。

一回目の場合は下記記事をご参照ください。
youmjww.hatenablog.jp


この記事は、前回同様
Deploying a Meteor app on Ubuntu 16.10 (with APT) on a Linux/Unix production server with Passenger open source in Standalone mode - Passenger + Meteor deployment tutorial - Passenger Library
上記サイトを参考にして筆者が実際に構築をし、必要と思われるものを書き出しています。

前提環境

ディストリービュージョン:ubuntuまたはdebian
サーバー:passenger
Meteorのバージョンが1.4以上

デプロイ前の準備

meteorのプロジェクトをビルドしてサーバーに送信する

まず、ローカル環境でmeteorのパッケージをビルドします。

#ローカル環境
#ビルド
$meteor build --server-only ../new_package && mv ../new_package/*.tar.gz package.tar.gz

#ファイルをアップロード
$scp package.tar.gz adminuser@yourserver:~/

サーバーにログイン

$ssh myappuser@yourserver.com

デプロイ

tarの解凍

$mkdir -p /var/www/myapp/tmp
$cd /var/www/myapp/tmp
$tar xzf ~/package.tar.gz

passengerの設定ファイルをコピー

このファイルは何回も使いまわすのでどこかにバックアップを取っておいたほうがいいかも知れないですね。

$cp /var/www/myapp/bundle/Passengerfile.json /var/www/myapp/tmp/bundle/

依存関係のインストー

$cd /var/www/myapp/tmp/bundle/programs/server
$npm install --production
$npm prune --production

アプリを更新する

もしちゃんと更新できなかった時のためにバックアップを取っておきます。

$mv /var/www/myapp/bundle /var/www/myapp/bundle.old
$mv /var/www/myapp/tmp/bundle /var/www/myapp/bundle
$passenger-config restart-app /var/www/myapp/bundle

古いバージョンを削除

新しいバージョンのアプリが動いているのを確認できたら古い方は削除してください。

$rm -rf /var/www/myapp/bundle.old

あとがき

passengerでアプリをデプロイするのって結構手間ですよねw
と言っても私はapacheでデプロイなどは経験がないのでなんとも言えないですけどw
私は実際に使う時はもうめんどくさいのでこのページをまるまるスクリプトにして実行をかけていましたw
今度はどんなネタで記事を書こうかなwそろそろネタ切れ感がしてやばいですw
でも、毎日更新をしていることによってブログのモチベーションがあるのも事実だし、毎日更新は崩したくないな・・・