这是 plackupp 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
plackup - 使用 Plack 处理程序运行 PSGI 应用程序
概要
# 从 app.psgi 文件中读取你的应用
装箱
# 从 ARGV[0] 中选择 .psgi 文件(或使用 -a 选项)
装箱你好.psgi
# 使用--server(或-s)切换服务器实现
plackup --server HTTP::Server::Simple --port 9090 --host 127.0.0.1 test.psgi
# 使用 UNIX 套接字运行 FCGI 守护进程
plackup -s FCGI --listen /tmp/fcgi.sock myapp.psgi
# 在端口 9090 上启动 FCGI 外部服务器
plackup -s FCGI --端口 9090
商品描述
plackup 是一个命令行实用程序,用于从命令行运行 PSGI 应用程序。
plackup 自动找出它运行的环境,并运行你的应用程序
在那个环境中。 FastCGI、CGI、AnyEvent 等都可以检测到。 看
Plack::Loader 为权威列表。
“plackup”假设您在当前目录中有一个“app.psgi”脚本。 最后
“app.psgi”的声明应该是一个代码引用,它是一个 PSGI 应用程序:
#!/usr/bin/perl
使用我的应用程序;
我的 $application = MyApp->new;
我的 $app = sub { $application->run_psgi(@_) };
争论
.psgi文件
plackup --主机 127.0.0.1 --端口 9090 /path/to/app.psgi
第一个非选项参数用作“.psgi”文件路径。 你也可以设置这个
带有“-a”或“--app”的路径。 如果省略,则默认文件路径为“app.psgi”
当前目录。
配置
-a,--应用程序
指定“.psgi”脚本的完整路径。 您也可以将此路径提供为
“plackup”的第一个参数。
-e 将给定的 perl 代码评估为 PSGI 应用程序,很像 perl 的“-e”选项:
plackup -e 'sub { my $env = shift; 返回 [ ... ] }'
当您想运行像 Plack::App::* 这样的自定义应用程序时,它也很方便。
plackup -MPlack::App::File -e 'Plack::App::File->new(...)->to_app'
您还可以指定带有“.psgi”文件路径的“-e”选项来包装应用程序
从命令行配置中间件。 您还可以使用 Plack::Builder DSL
“-e”代码中的语法。 例如:
plackup -e '启用“Auth::Basic”,验证器 => ...;' 我的应用程序
相当于 PSGI 应用程序:
使用 Plack::Builder;
使用 Plack::Util;
建设者{
启用“Auth::Basic”,验证器 => ...;
Plack::Util::load_psgi("myapp.psgi");
};
请注意,当您使用“-e”选项启用中间件时,plackup 不假定
隐式“app.psgi”路径。 您必须将路径传递到“.psgi”文件中
命令行参数或在“启用”之后在“-e”中加载应用程序。
plackup # 运行 app.psgi
plackup -e 'enable "Foo"' # 不起作用!
plackup -e 'enable "Foo"' app.psgi # 有效
plackup -e '启用“Foo”; sub { ... }' # 有效
-o,--主机
绑定到 TCP 接口。 默认为 undef,这让大多数服务器后端绑定到
任何 (*) 接口。 此选项仅对支持 TCP 的服务器有效
插座。
-p,--端口
绑定到 TCP 端口。 默认为 5000。此选项仅对以下服务器有效
支持 TCP 套接字。
-s, --server, "PLACK_SERVER" 环境变量
选择要运行的特定服务器实现。 提供时,“-s”或
“--server”标志将优先于环境变量。
如果没有给出选项,plackup 将尝试检测 世界上最好的 基于服务器实现
环境变量以及应用程序在 %INC 中加载的模块。
有关详细信息,请参阅 Plack::Loader。
-S, --套接字
侦听 UNIX 域套接字路径。 默认为 undef。 此选项仅对
支持 UNIX 套接字的服务器。
-l, --听
侦听一个或多个地址,无论是“HOST:PORT”、“:PORT”还是“PATH”(没有
冒号)。 您可以多次使用此选项来侦听多个地址,但是
服务器将决定它是否支持多个接口。
-D,--守护进程
使进程在后台运行。 这取决于后端服务器/处理程序
无论是否遵守此选项,都将实现。
-I 指定 Perl 库包含路径,如“perl”的 -I 选项。 您可以添加多个
多次使用此选项的路径。
-M 在加载应用程序代码之前加载命名模块。 您可以加载多个模块
通过多次使用此选项。
与 "-r" 或 "-R" 组合使用时,可能不会产生所需的重启效果
加载的模块在开发目录中更改。 为了避免这个问题,你需要
使用“-e”加载带有应用程序代码的模块。
-E,--env,“PLACK_ENV”环境变量。
指定环境选项。 用“-E”或“--env”设置这个值也会写
到“PLACK_ENV”环境变量。 这允许应用程序或框架
告诉应用程序正在运行的环境设置。
#这两个是一样的
plackup -E 部署
env PLACK_ENV=部署组装
常见的值是“开发”、“部署”和“测试”。 默认值为
“development”,这会导致“plackup”加载中间件组件: 访问日志,
堆栈跟踪和 皮棉 除非设置了“--no-default-middleware”。
--no-default-中间件
即使在 Plack 环境(即
“-E”或“PLACK_ENV”)设置为“开发”。
-r,--重新加载
每当开发目录中的文件时,使 plackup 重新启动服务器
变化。 此选项默认监视“lib”目录和基本目录
协调 .psgi文件 文件位于。 使用“-R”查看其他目录。
重新加载会延迟应用程序的编译。 自动服务器检测
(请参阅上面的“-s”)可能不会像您预期的那样运行,如果 plackup 需要扫描您的
它使用的模块的应用程序。 通过在以下情况下明确指定“-s”来避免问题
使用“-r”或“-R”。
为避免更改预加载模块时出现问题,请参阅“-M”文档。
-R, --重新加载
每当给定目录中的任何文件时,使 plackup 重新启动服务器
变化。 “-R”和“--Reload”采用逗号分隔的路径列表:
plackup -R /路径/到/项目/lib,/路径/到/项目/模板
为避免更改预加载模块时出现问题,请参阅“-M”文档。
-L,--装载机
指定实现如何运行服务器的服务器加载子类。
可用的选项是 板::加载器 (默认), 重新启动装置 (当“-r”时自动设置
或使用“-R”), 延迟和 滑膛枪.
有关更多详细信息,请参阅 Plack::Loader::Delayed 和 Plack::Loader::Shotgun。
--访问日志
指定应写入访问日志的文件的路径名。 默认情况下,
在开发环境中访问日志将转到 STDERR。
- 小路
指定要运行的应用程序的根路径(PSGI 环境中的“SCRIPT_NAME”)。 下列
两个命令大致相同。
plackup --path /foo app.psgi
plackup -e 'mount "/foo" => Plack::Util::load_psgi("app.psgi")'
以“--”开头的其他选项将传递到后端服务器。 看到每个
Plack::Handler 后端的文档以获取有关其可用选项的更多详细信息。
使用 onworks.net 服务在线使用 plackupp