IT Office Nishimiyahara

個人用スマホから商用プログラミングまでなんでもお任せ下さい

Herokuでhypnotoadを使ってMojoliciousを起動する

   

@nqounetです。

Mojoliciousのプロダクション用サーバーのhypnotoadを使ってHerokuで動作させる方法を考えてみます。

まず、Herokuで起動するためのPORTを設定する必要があります。

起動スクリプトの中で$PORTとなっているのは、環境変数なので、Perlでは$ENV{PORT}で取得できます。

hypnotoadの設定

hypnotoadは設定ファイルに設定内容を書きますが、その中で環境変数を書いておくこともできます。

config.plの例

ただ、このようにした場合、どのような環境でもPORTの設定が必要になるので、実際にはMOJO_MODEごとの設定ファイル(例えばconfig.production.confのような)にするのが良いでしょう。

perl app.pl で起動する

前回も書いたとおり、Procfileには1つだけ書くようにしたいので、Procletを使用して見掛け上を1つのアプリにします。

app.plの例

Procfileの例

ポイントとしては、hypnotoadをフォアグラウンドで動作させることです。

hypnotoadをそのまま実行すると、アプリをデーモンにしてしまうのですが、そうするとProcletで管理できなくなります。

workerがある場合は、workerも同じようにserviceとして登録します。

さらに、サービスがスリープしないように、30分毎に自分自身にアクセスするようにすると便利だと思います。

APP_KEEPALIVE_URLは、こちらHUBOT_HEROKU_KEEPALIVE_URLを読み替えて設定してください。

respo

respo link

ZenBackWidget

 - 情報技術について , ,