PerlならサンプルコードPerl入門

2011-01-22

アプリケーションを実行する - hypnotoad / Mojolicious

  1. Perl
  2. Mojolicious

 hypnotoadコマンドはMojoliciousに組み込みのプリフォークサーバーであるMojo::Server::Hypnotoadを使ってアプリケーションを実行するコマンドです。hypnotoadは本番環境でアプリケーションをデプロイするために用意されています。

アプリケーションの起動

hypnotoad myapp.pl

 アプリケーションの設定を記述したい場合は「hypnotoad.conf」というファイルを記述します。

hypnotoad.conf

アプリケーションの停止

 アプリケーションを停止するには、stopオプションを利用します。

hypnotoad myapp.pl --stop

ホットデプロイメント

 ホットデプロイメントとは、アプリケーションを停止せずにソフトウェアを置き換えることのできる技術のことです。アプリケーションを実行中に、サイドhypnotoadコマンドを実行するとホットデプロイメントを行うことができます。

hypnotoad myapp.pl

小池小池 2015/08/18 08:30 はじめまして。いつも活用させて頂いています。
HypnotoadをさくらのVPSでテスト的に運用してみているのですが、すぐに落ちてしまうようなのです。
具体的には、端末でVPSに接続している間は有効なのに端末をとじるとダメ。
cronで定期的に起動してみてもダメ。
端末で接続しっぱなしにしていて、接続が切れないように、tail -f production.logなどで端末を起動しっぱなしにしておくとその間は有効みたいです。
設定は、最初は何も設定しないで試してみて、次に
app->config(hypnotoad => { user => "koike", group => "adm" });
も試してみました。
他に有効な設定はありますでしょうか?

perlcodesampleperlcodesample 2015/08/18 14:57  hypnotoadは、デフォルトの設定で、アプリケーションを、バックグラウンドプロセスとして実行します。teratermなどの端末を落としても、大丈夫なはずです。特別な設定はいらないです。

 hypnotoadコマンドを実行したときに、何か表示されていますか。もし表示されていれば、バックグラウンド実行されておらず、何らかの理由でフォアグラウンドで実行されています。

 また、アプリケーションは正しく実行されていますか。Webブラウザから、確認できますでしょうか。

小池小池 2015/08/18 17:43 ありがとうございます。
この数日試していて、今朝、自宅のPC(Ubuntuです)で端末からサーバに接続し、
tail -f production.log
tail -f syslog
の2つを開きっぱなしにしてきたのですが、今日は今のところ落ちずに実行されています。

hypnotoadコマンドを実行した際ですが、何もメッセージもなくプロンプトに戻ります。
その後はブラウザで実行されているのが確認できます。

特に設定(heartbeat_timeoutとかinactivity_timeoutとか)が不要ということであれば、そもそも落ちるのは別の原因だと思いますので、別の環境での実行結果と比較して原因をさぐってみます。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証