Ubuntu+PerlでWebシステム開発 環境構築

  • Ubuntu20
  • Ubuntu18
  • Ubuntu16

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アプリケーションを公開する方法については以下を参考にしてください。