名前

Mojo::Server::Morbo - 開発用サーバー

Mojo::Server::Morboは完全な機能を備えた自己再起動が可能なノンブロッキングI/Oの HTTPとWebSocketのサーバーです。よく試験され信頼できるMojo::Server::Daemon の上に構築されており、IPv6, TLS, SNI, UNIXドメインソケット、 コメット(ロングポーリング), キープアライブ、複数のイベントループをサポートしています。 サーバーはプロセス管理のためにシグナルを使用しているので シグナルハンドラーをアプリケーションの中で 修正するのは避けるべきです。

アプリケーションを開始するには、morboスクリプトを使用します。

$ morbo ./myapp.pl
Server available at http://127.0.0.1:3000

よりよいスケーラビリティ(epoll, kqueue)、ノンブロッキングの名前解決、 SOCK5、TLSサポートも以下のモジュールによってサポートされます。 オプションのモジュールとしてEV(4.0+), Net::DNS::Native (0.15+) IO::Socket::SSL(2.009+),IO::Socket::Socks (0.64+)、IO::Socket::SSL (1.94+)が 透過的にサポートされ、インストールされていれば利用されます。 個々の機能はMOJO_NO_NDNMOJO_NO_IPV6MOJO_NO_TLS環境変数で無効にすることもできます。

Mojolicious::Guides::Cookbookデプロイメントの項目も見てください。

使い方

use Mojo::Server::Morbo;

my $morbo = Mojo::Server::Morbo->new;
$morbo->run('/home/sri/myapp.pl');

シグナル

Mojo::Server::Morboは次のシグナルで、 実行時にプロセスをコントロールすることができます。

INT, TERM

すぐにサーバーをシャットダウンします。

属性

Mojo::Server::Morboは次の属性を実装しています。

backend

my $backend = $morbo->backend;
$morbo      = $morbo->backend(Mojo::Server::Morbo::Backend::Poll->new);

バックエンド、通常はMojo::Server::Morbo::Backend::Pollオブジェクト。

daemon

my $daemon = $morbo->daemon;
$morbo     = $morbo->daemon(Mojo::Server::Daemon->new);

このサーバーが管理するMojo::Server::Daemonオブジェクト。

メソッド

Mojo::Server::MorboMojo::Baseからすべてのメソッドを継承しており、 次の新しいメソッドを実装しています。

run

$morbo->run('script/my_app');

アプリケーションのためにサーバーを実行します。

参考

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

(Mojolicious 8.12。2019年5月28日更新)