这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 starmanp,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
starman - Starman 发射器
概要
starman --listen :5001 --listen /tmp/starman.sock
starman --workers 32 --端口 8080
配置
-l, --听
--listen 主机:端口 --listen :端口 --listen UNIX_SOCKET
--listen 主机:端口:ssl
指定要绑定以等待请求的 TCP 地址、端口和 UNIX 域套接字。
您可以根据需要重复多次并混合使用 TCP 和 UNIX 域套接字。
对于 TCP 套接字,您可以在端口后附加“:ssl”以指定连接
该端口应使用 SSL。 请注意,SSL 支持是实验性的,尚未
广泛测试。
默认为任何 IP 地址和端口 5000。
- 主持人
--主机 127.0.0.1
指定要绑定的地址。
此选项是为了与 plackup 兼容,建议您使用
“--听”代替。
- 港口
--端口8080
指定要绑定的端口。
此选项是为了与 plackup 兼容,建议您使用
“--听”代替。
-S, --套接字
-S /tmp/starman.sock
指定要绑定的 UNIX 域套接字的路径。
此选项是为了与 plackup 兼容,建议您使用
“--听”代替。
- 工人
指定工作池的数量。 默认为 5。
Starman 默认根据这个 worker 设置其他备用服务器配置
值,确保有 时刻 仅由 “N”个工作进程正在运行。 所以即使
没有空闲的工人,Starman 不会产生多余的进程,因为这主要是
你想通过微调生产中的内存使用等来做什么
环境。
--积压
指定侦听器套接字的积压数量(侦听队列大小)。 默认为
1024.
在生产系统上,设置一个非常低的值可以允许在前端代理上进行故障转移
如果您有多个 Starman 集群,(如 nginx)会更快地发生。
如果您正在执行简单的基准测试并出现连接错误,请增加此
参数可以帮助避免它们。 你还应该考虑增加
“net.core.somaxconn”。 请注意,如果出现以下情况,则不建议将其用于实际生产系统
您有另一个集群要进行故障转移(见上文)。
--最大请求数
每个工作进程要处理的请求数。 默认为 1000。
--预加载应用程序
此选项让 Starman 在主父级中预加载指定的 PSGI 应用程序
preforking 孩子之前的过程。 这允许通过写时复制节省内存
内存管理。 如果未设置(默认),分叉的子级将应用程序加载到
初始化钩子。
启用此选项可能会导致在诸如套接字或
数据库连接在加载时由主进程打开并由主进程共享
多个孩子。
从 Starman 0.2000 开始,此选项默认为 false,您应该明确设置
此选项可在主进程中预加载应用程序。
或者,您可以使用 -M 命令行选项(plackup 的常用选项)来预加载
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 模块 而不是本身。
starman -MCalyst -MDBIx::Class myapp.psgi
将在主进程中加载模块以使用 CoW 节省内存,但是
“myapp.psgi”的实际加载是按孩子完成的,允许资源管理
比如数据库连接更安全。
如果启用此选项,则向主进程发送“HUP”信号 将 而不去 推荐
您所做的任何代码更改。 有关详细信息,请参阅“信号”。
--禁用保持活动
禁用 Keep-alive 持久连接。 如果您运行,这是一个有用的解决方法
Starman 位于一个损坏的前端代理背后,该代理试图将连接池连接到多个
后端工作者的数量(即 Apache mpm_prefork + mod_proxy)。
--keepalive-超时
Starman 在关闭之前等待后续请求的秒数
如果启用了保持活动的持久连接,则连接。 将此设置为高
值可能会导致负载过重的服务器出现性能问题。 越高
超时,更多的后端工作人员将被占用等待与
闲置客户。
默认为1。
--读取超时
Starman 等待新连接请求的秒数
关闭它。 将此设置为高值可能会导致严重的性能问题
加载的服务器。 超时时间越长,保持占用的后端工作人员就越多
等待与空闲客户端的连接。 如果您的代理/负载,您可能需要这个
平衡器喜欢在等待客户端时保持一个打开的连接池(例如
亚马逊 ELB)。
默认为5。
- 用户
要侦听低编号 (<1024) 端口,需要将服务器启动为
根。 使用“--user”选项指定服务器处理的用户名或用户名
绑定到端口后应该切换到。
默认为当前用户 ID。
- 团体
指定服务器绑定后应该切换到的组id或组名
港口。 此选项通常与“--user”一起使用。
默认为当前组 ID。
--pid
指定pid文件路径。 将它与“-D|--daemonize”选项一起使用,在“plackup
-H”。
--错误日志
指定应写入错误日志的文件的路径名。 这使
使用“--daemonize”时,您仍然可以访问错误。
--ssl-证书
指定 SSL 证书文件的路径。
--ssl-密钥
指定 SSL 密钥文件的路径。
--启用-ssl
启用 SSL 所有 TCP 套接字。 这是一个实验性功能。
--disable-protitle
禁用将 proctitle 设置为“starman (master)”和“starman (worker)”的行为
分别在 master 和 worker 上。
Starman 传递给 Plack::Runner 的其他选项,Plack::Runner 是通用后端
plackup 使用,因此“plackup -h”中解释的大多数选项,例如“--access-log”或
“--daemonize”在starman 中也能正常工作。
将环境变量“STARMAN_DEBUG”设置为 1 使 Starman 服务器运行在
调试模式。
讯号
HUP 向主进程发送“HUP”信号将优雅地重启所有工作进程
(意味着当前正在运行的请求将在请求完成后关闭),
默认情况下,工作人员将通过重新加载来获取您所做的代码更改
应用程序。
但是,如果启用“--preload-app”选项,代码将仅加载到
启动过程,不会接受您所做的代码更改。 如果你想预加载
应用程序 和 通过重新加载代码更改来优雅地重新启动,建议您
使用 Server::Starter,配置为当 superdaemon 收到“HUP”时发送“QUIT”信号,
IE:
start_server --interval 5 --port 8080 --signal-on-hup=QUIT -- \
starman --preload-app myapp.psgi
然后,您将 HUP 信号发送到“start_server”进程以正常重新加载
starman 集群(master 和 worker)。
使用 Server::Starter 0.12 或更高版本,您还应该能够设置“--signal-on-term”
退出,以便您可以先安全地关闭 Starman,然后再停止“start_server”
守护进程也是如此。
TTIN、TTOU
向主进程发送“TTIN”信号会动态增加
工人,“TTOU”信号将减少它。
INT,期限
向主进程发送“INT”或“TERM”信号将杀死所有工人
立即关闭服务器。
放弃
向主进程发送“QUIT”信号将正常关闭工作进程
(意味着当前正在运行的请求将在请求完成后关闭)。
重装 “ 申请须知
建议您使用信号(见上文)重新加载应用程序,并且强烈
不鼓励在 plackup 中使用“-r”或“-R”(重新加载标志)。 这些选项将使
单独的目录观察程序,如果你想结合起来会让你的生活变得困难
与其他进程守护程序工具,如 Server::Starter。
差异性 与 装箱
“starman”可执行文件基本上相当于在“Starman”服务器上使用“plackup”
处理程序,即“plackup -s Starman”,除了“starman”延迟加载应用程序
默认情况下延迟加载器,可以使用“--preload-app”禁用。
“starman”命令还会自动将环境(“-E”)设置为
部署.
建议您使用“starman”,除非有理由坚持“plackup”
兼容性。
使用 onworks.net 服务在线使用 starmanp