【问题标题】:Loading new yaws configuration file while running yaws运行 yaws 时加载新的 yaws 配置文件
【发布时间】:2013-08-19 01:47:23
【问题描述】:

我正在使用 YAWS 为我的远程应用程序提供服务。当 yaws.conf 文件发生更改时,我将重新启动服务器以使这些更改生效。我不想这样做,因为如果服务器停机超过一定时间,我的应用程序可能会崩溃。

那么有没有办法在不停止服务器的情况下加载新的配置文件,比如实时代码更新?

【问题讨论】:

  • 如果您还需要重新加载 appmod 模块,您可能会发现以下命令很有用:$ yaws --load your_appmod_module1 your_appmod_module2

标签: erlang yaws


【解决方案1】:

有 yaws_api:setconf(GC, SCList),主要用于“嵌入式”运行 Yaws(即,在您自己的主管下,而不是将 Yaws 作为单独的应用程序启动)。但是当你这样做时,Yaws 仍然会拆除所有现有的端口和连接以设置新的配置。所以第一个问题是:你测量过重启整个 Yaws 应用程序所需的时间吗?它可能只比重新加载配置稍微慢一点,在这种情况下,您会使您的代码变得更复杂而不会真正获得任何东西。

【讨论】:

    【解决方案2】:

    您可以在交互式 shell 中使用以下命令重新加载 Yaws 配置文件,而无需重新启动服务器:

    yaws --hup --id ID
    

    --id ID 部分是可选的 — 如果您正在运行多个 Yaws 实例,它可以让您确定要重新加载的特定 Yaws 服务器。

    【讨论】:

    • 当然,“--hup” - 该选项的名称多么明显。 ;-)
    • 不是很明显,我同意。该选项以 SIGHUP 命名,传统上发送该选项以强制 UNIX 守护程序重新读取其配置。如果您运行yaws --help,也会解释该选项。
    • 哈。这实际上 一个明显的名字,如此明显我不会猜到它(就像在高低寻找“运行”命令时发现它被称为......“运行”) .现在我永远不会忘记这一点。
    猜你喜欢
    • 2014-07-28
    • 2017-03-30
    • 2010-09-07
    • 2010-11-02
    • 2012-10-24
    • 2016-01-13
    • 2011-04-23
    • 2011-07-15
    • 2017-02-07
    相关资源
    最近更新 更多