2013-08-16 36 views
5

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

那么有没有办法加载新的配置文件与停止服务器,如实时代码更新?

+0

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

回答

8

您可以使用下面的命令从交互shell重新加载雅司病配置文件而不需要重新启动服务器:

yaws --hup --id ID 

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

+0

当然,“--hup” - 该选项显而易见的名称。 ;-) – RichardC

+0

不完全明显,我同意。该选项是以SIGHUP命名的,SIGHUP传统上是用来强制UNIX守护进程重新读取其配置。如果您运行'yaws --help',也会解释该选项。 –

+0

哈。这实际上*是一个显而易见的名字,很明显我不会猜到它(例如,当看到“run”命令的高低时,结果被称为...“run”)。现在我永远不会忘记这一点。 – zxq9

1

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