2014-09-15 6 views
2

Я пытаюсь запустить сервер с Plack::Runner. Как запустить его в фоновом режиме? Я пробовал следующее:Как запустить Plack :: Runner в фоновом режиме?

my $runner = Plack::Runner->new; 
$runner->parse_options(qw' --host 127.0.0.1 --port 90210 -D'); 
$runner->run($app); 

Кажется, что игнорировать -D. Я также пробовал «-день», и это тоже не работает.

Спасибо!

+0

Есть ли причина, по которой вы не используете [plackup] (https://metacpan.org/pod/plackup) или другие [PSGI] (http://plackperl.org/) серверы? –

+0

Пример, который я нашел в Интернете, использовал Plack :: Runner. Прошло немало времени с тех пор, как я использовал perl в производстве, поэтому, если есть другое решение, дайте мне знать. –

+1

Обычно вы просто называете 'plackup -host 127.0.0.1 -port 90210 -D/path/to/app.psgi'. Например, файлы '.psgi' смотрят [веб-страницу для дистрибутива Plack] (https://metacpan.org/release/Plack), существует почти 20 примеров. –

ответ

2

Что такое $ app ?.

my $runner = Plack::Runner->new; 
$runner->parse_options(qw' --host 127.0.0.1 --port 90210 -D'); 
$runner->run("app.pm"); or "$app" 

app.pm это приложение файл или вы можете попробовать:

my $app = sub { 
    return [ 200, [ 'Content-Type' => 'text/plain' ], [ 'Hello World' ] ]; 
}; 

Это работает.

Смежные вопросы