23日目: デプロイ
22日間、開発付属の開発サーバーでアプリケーションを動かしました。今日はこのアプリケーションをプロダクション環境のhttpdと一緒に動作させる方法を学びます。
Ark の動作環境
Ark は Plackに対応したフレームワークですので、多くのWebサーバー上で動作します。CGIでも動作します。
Plack を使用すると様々な環境を意識することなくコードをかけるようにしてくれるとともに、対応する環境すべてで動作するアプリケーションを書くことができます。
動作環境の一例
2011年現在、一般的なPlackアプリケーションで使われている構成は以下のようになっています。
- Nginx or Apacheを前段に立てリバースプロキシと静的ファイル配信に利用
- アプリケーションサーバーは Starman or Starlet
- graceful restartのために、Server::Starterのstart_serverで起動
- 上記プロセスをdaemontools or supervisord でdaemon化
ただし、動作環境の定番は年々変化します。
また明日
プロジェクトのデプロイは Ark 開発のライフサイクルの一番最後のステップです。これはすべてが終わったことを意味しません。全くの逆です。 Webサイトの人生の始まりです。おそらくバグを修正しなければならず時間が経過したら新しい機能も追加したくなります。しかし Ark の構造と自由に使えるツールのおかげで、Webサイトのアップグレード作業はシンプルで、速く、安全です。
明日はJobeetチュートリアルの最後の日です。 Jobeetの23日間に学んだことを振り返ります。