NAME
plackup - Run PSGI application with Plack servers
SYNOPSIS
# read your app from app.psgi file
plackup
# can be passed as an ARGV[0] (or with -a option)
plackup hello.psgi
# Switch server implementation with --server (or -s)
plackup --server Coro --port 9090 --host 127.0.0.1 test.psgi
DESCRIPTION
plackup is a command line utility to run PSGI application from the command line.
plackup automatically figures out the environment it is run in, and runs your application in that environment. FastCGI, CGI, AnyEvent and others can all be detected. See Plack::Loader for the authorative list.
plackup assumes you have an app.psgi script in your current directory, that would look like:
#!/usr/bin/perl
use MyApp;
my $app = MyApp->new;
my $handler = sub { $app->run_psgi(@_) };
The last statement of app.psgi should be a code reference that is a PSGI application.
ARGUMENTS
- .psgi
-
plackup --host 127.0.0.1 --port 9090 /path/to/app.psgiThe first non-option argument is used as a
.psgifile path. You can also set this path with-aor--appoption. If omitted, the default file path isapp.psgiin the current directory.
OPTIONS
- -a, --app
-
--appoption allows you to locate a.psgiscript with a different name in a different path. This can also be set as a non-option argument. (See above) - -e
-
Evaluate the given perl code as a PSGI app, much like perl's
-eoption. - -o, --host
-
The interface a TCP based server daemon binds to. Defauts to undef, which lets most server backends bind the any (*) interface. This opeion doesn't mean anything if the server is not TCP based.
- -p, --port
-
The port number a TCP based server daemon listens on. Defaults to 5000. This option doesn't mean anything if the server is not TCP based.
- -s, --server
-
Select a specific implementation to run on using the
PLACK_SERVERenvironment variable or use the-sor--serverflag which will be prefered over the environment variable if present. - -I
-
Specify perl library include path, like
perl's -I option. - -M
-
Specify modules to load before loading the app code.
- -E, --env
-
Specify the environment option (default is
development). If it's set todevelopment, following middleware is enabled by default: CommonLogger, StackTrace. - -r, --reload
-
Make plackup to watch updates from your development directory and restarts the server whenever a file is updated. This option by default watches the current directory. Use
-Rif you want to watch other directories. - -R, --Reload
-
-Roption allows you to specify the path to watch file updates separated by comma (,).plackup -R /path/to/project/lib,/path/to/project/templates
Other options that starts with -- are passed through to the backend server. See each Plack::Server backend documentations to see which options are available.