我正在使用 FastCGI 将 C++ 二进制文件(使用Wt框架编写)公开为 Web 应用程序。但是,在我修改了应用程序并重新编译后,为了让新会话看到更改(活动会话继续使用旧版本直到过期),我必须重新加载 Apache。
是否有可能以不需要重新加载 Apache 的方式配置系统,以使新编译的 FastCGI 应用程序可供用户使用?谢谢。
引用自常见问题解答:
由 mod_fastcgi 启动的应用程序可以使用 FastCgiServer 和/或 FastCgiConfig 的 autoUpdate 参数(请参阅 mod_fastcgi 文档)。这种方法的一个缺点是,mod_fastcgi 将检查每个请求以获取应用程序的新版本。更智能的实现可能会让应用程序本身定期检查(通过处理的请求数或通过的时间)并在存在更新版本的自身(或其库之一)时重新加载。如果一个进程管理器,例如嵌入在 mod_fastcgi 中的那个,负责该进程,简单的退出将导致创建一个新实例。
因此,您要么在配置中启用自动更新,要么您的程序通过您最喜欢的某种机制自行重新加载。