IT Office Nishimiyahara

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

Mojolicious::Liteで作ったアプリをHerokuで動かす

      2015/04/12

@nqounetです。

Mojolicious::Liteに限らず、PerlのアプリはHerokuで簡単に動かせる、ということなので試してみました。

まとめ

heroku buildpack

Herokuではbuildpackという仕組みで、Perl製のウェブアプリも動かすことができます。

上で紹介した記事が推奨している https://github.com/pnu/heroku-buildpack-perl は使いやすいです。

cpanfile

依存モジュールを、cpanfileに書いておくと自動的にインストールされます。

app.psgi vs Procfile

上記のbuildpackでは、基本的にはPSGIの規格に沿ったapp.psgiを用意する必要があるのですが、適切にProcfileを書けばapp.psgiは空でも問題ありません。(app.psgiという名前のファイルが存在すればbuildpackが有効になります)

その辺を利用して、Mojolicious::Liteで作成したアプリを(とりあえず)PSGIとして動かすようにProcfileに書いておきます。

上記のbuildpackでは、標準でstarmanがインストールされるので、それを利用します。

hypnotoadで動かしたい

Mojoliciousのhypnotoadでも動作させられるのですが、portの設定をファイルに書く必要がある(コマンドのオプションでは指定できないっぽい)ので、ちょっと面倒です。

どうしてもhypnotoadで動かしたい場合は適宜お調べください。

Procfileの応用

app.psgiよりもProcfileが優先されるので、応用すればapp.plで起動するようなアプリを動かすことも可能ですよ。

cpanモジュールを使う手もある?

実は、Mojolicious::Command::deploy::herokuを使うと簡単に動かせるらしいのですが…。

Deploy Perl Mojolicious web apps to Heroku

二段階認証に対応していないのか、私の環境ではうまく動作しませんでした。

respo

respo link

ZenBackWidget

 - 情報技術について , ,