MojoliciousによるWebアプリケーションのデプロイ
MojoliciousによるWebアプリケーションのデプロイ方法の解説です。Mojoliciousは、リアルタイムWebに対応したスケーラブルなPerlのWebフレームワークです。
Mojoliciousのインストール
Mojoliciousをインストールしましょう。ユーザーPerlとcpanmのインストールが完了している必要があります。
cpanm Mojolicious
Mojoliciousアプリケーションの作成
Mojoliciousアプリケーションを作成しましょう。
アプリケーション名は「Webapp」とします。
「mojo generate app」コマンドを実行してMojoliciousアプリケーションを作成します。
mojo generate app Webapp
webappというディレクトリが作成され、その中にMojoliciousアプリケーションが配置されます。
Mojoliciousの開発サーバーを起動
morboコマンドでMojoliciousの開発サーバーを起動します。
cd ~/webapp morbo script/webapp
ポート番号が3000番で、Webアプリケーションが起動します。
Web application available at http://127.0.0.1:3000
「127.0.0.1」の部分はループバックアドレスですので、サーバーのIPアドレスに変更してアクセスしてみましょう。
サーバーのIPアドレスが「132.165.23.8」の場合は、以下でアクセスできます。
http://132.165.23.8:3000
アクセスできない場合は、ネットワークのファイアーウォール設定で3000番ポートが許可されているか確認しましょう。
成功すると画面に「Welcome to the Mojolicious real-time web framework!」と表示されます。
「Ctrl + C」で終了できます。
Mojoliciousの本番サーバーを起動
hypnotoadコマンドでMojoliciousの本番サーバーを起動しましょう。hypnotoadは、Mojoliciousの本番用サーバーで、プリフォーク+非同期I/Oの実装を持ち、パフォーマンスで最適化されています。
cd ~/webapp hypnotoad script/webapp
Web application available at http://127.0.0.1:8080
ポート番号8080は閉じられているので、確認のためには、コマンドラインでcurlコマンドを使用しましょう。「I ? Mojolicious!」と表示されれば、本番サーバーが正しく起動しています。
curl http://127.0.0.1:8080
停止する場合は「--stop」オプションを使用します。
hypnotoad script/webapp --stop
ポート番号を変更したい場合は、設定ファイルのlistenオプションで変更できます。設定ファイル名は「webapp.conf」とします。
リバースプロキシに接続のためにMojolicious設定ファイルに必要な項目
リバースプロキシに接続する場合に、Mojoliciousの設定ファイルに少なくとも必要な項目は、以下です。
設定ファイルがwebapp.confの場合
設定ファイル名が、webapp.confの場合は、以下の設定を追記してください。
# webapp.conf { hypnotoad => {proxy => 1} };
設定ファイルがwebapp.ymlの場合
設定ファイルがwebapp.ymlの場合は、以下の設定を追記してください。(Mojolicious 8.58以降)
hypnotoad : proxy : 1
上記の設定で起動できるか確認しておきましょう。
hypnotoad script/webapp
ApacheからのリバースプキシによるWebアプリケーションへの接続
Apacheからリバースプロキシから接続して、インターネット上にWebアプリケーションを公開する方法については以下を参考にしてください。