【发布时间】:2020-07-06 20:02:18
【问题描述】:
是否可以在 openresty 中使用 Lua 脚本生成一个新的工作进程并优雅地关闭现有的工作进程?
【问题讨论】:
是否可以在 openresty 中使用 Lua 脚本生成一个新的工作进程并优雅地关闭现有的工作进程?
【问题讨论】:
Openresty 本身并没有真正直接提供这种功能,但它确实为您提供了必要的构建块:
kill() 系统调用或os.execute,您可以直接调用kill。结合这些,你应该能够实现你想要的:D
注意:再次阅读问题后,我发现我真的只回答了第二部分。
nginx 使用固定数量的工作进程,因此您只能关闭正在运行的工作进程,然后主进程将重新启动,但数量将保持不变。
如果您只想更改工作进程的数量,则必须完全重新启动 nginx 实例(我刚刚尝试过nginx -s reload -g 'worker_processes 4;',它实际上并没有产生任何额外的工作进程)。
但是,我看不出你为什么会这样做的充分理由。如果您需要额外的线程,可以使用单独的 API,除此之外,您可能只需要硬重启即可。
【讨论】: