FreeStyleWiki

Perlのアプリサーバ起動管理

[Perl]

Perlのアプリサーバ起動管理

  carton

  • cpanfileを扱うのはcartonのほうがよさそうに見える
# yum install perl-App-cpanminus
# cpanm Carton
  • ライブラリのインストール
    • もっぱらrubyのbundlerのような形で使える
$ carton install
  • ./local/lib/perl5以下にライブラリがインストールされる

  Proclet / Server::Starter

// 起動
$ carton exec start_server                                      \  # Server::Starterを起動
    --daemonize --log-file=/tmp/fswiki.log                      \  # デーモン化とログ出力先を指示
    --pid-file=/tmp/fswiki.pid --status-file=/tmp/fswiki.status \  # pidファイル等を出力する
    -- starman --workers 4 app.psgi                                # starmanをworkerとして動作させる

// 停止
$ carton exec start_server                                      \  # Server::Starterを起動 
    --stop --pid-file=/tmp/fswiki.pid                           \  # pidファイルを指定してstopを指示

  supervisord(お蔵入り)

  • supervisordを使って、上記のServer::Starter + Starmanの起動管理をやりたかったのだが
    • pipから入れたもの(supervisor-4.2.0)がうまく動作しない。挙動が変わってしまったかソースがダメなのか。
    • supervisor-3.4.0で検証