HerokuでMojoliciousアプリを動かしてみる
Herokuとは
ある程度の規模のアプリなら無料で利用可能なPaaSです。
Wikipedia先生によると
ベースとなるOSはDebian、もしくはDebianをベースに開発されたUbuntuである。
初期はRubyによるウェブアプリケーションフレームワークRuby on Railsのみのサポートであったが、Java、Node.js、Scala、Clojure、Python、PHPなど複数のプログラミング言語をサポートするようになった。
データベースはPostgreSQL、MySQL、Cloudant、Couchbase Server、MongoDB、Redisをサポートしている。
だそうで、Perlアプリもbuildpackを利用すれば登録可能です。
Herokuのアカウントを作る
何はともあれHerokuのアカウントを作りましょう。
名前、メールアドレス、使う言語なんかを入力するだけで簡単。
toolbeltインストール
Herokuにアプリを乗せるためにはtoolbeltが必要です。
ここから自分の環境用のものを入手しましょう。
インストールが終わったら、terminalでheroku login
を実行します。
$ heroku login Installing Heroku Toolbelt v4... done. For more information on Toolbelt v4: https://github.com/heroku/heroku-cli Setting up node-v4.1.1...done Installing core plugins heroku-cli-addons, heroku-apps, heroku-fork, heroku-git, heroku-local, heroku-run, heroku-status... done Enter your Heroku credentials. Email: Password (typing will be hidden): Logged in as
実際は色々やってくれているそうですが、ユーザがやることはメールアドレスとパスワードを入力するだけ。
pushする準備
今回稼働させるアプリは、前作った自前のブログです。
(はてなに戻ってしまったので用済みになってしまった。)
$ vim Procfile eb: starman --preload-app --port $PORT app.psgi
app.psgiは自分のアプリ用に書きませう。
あとは依存モジュールがあるならcpanfile
に書きませう。
準備できたらローカルリポジトリにコミットします。
$ git init $ git add . $ git commit -m "first commit"
そんでもってアプリをHerokuに登録します。
$ heroku create appname --buildpack https://github.com/miyagawa/heroku-buildpack-perl.git
appname
と指定しているところがそのままサブドメインとして登録されます。
heroku-buildpack-perl
はHerokuにPSGIアプリを登録するためのツール…という理解です。
いざpush。そしてアクセス
ここまでできたら後はpushするだけです。
$ git push heroku master
無事pushできたらheroku open
してみてください。
appname.herokuapp.com
が見れましたかね?
自前のブログは折角なのでどこでもアクセスできる備忘録として残してますが、Text::Markdown::Discount
の拡張機能が有効にならないのでコード部分がぐちゃぐちゃになってます。悲しい。
謝辞
Perl製のWebアプリケーションをherokuで3分で動かすの法 - おそらくはそれさえも平凡な日々
Mojolicious::Liteで作ったアプリをHerokuで動かす - IT Office Nishimiyahara