2014-09-15 7 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' ] ]; 
}; 

이 작동합니다.