重新加载 FastCGI 应用程序

发布于 2024-07-07 04:20:22 字数 260 浏览 13 评论 0原文

我使用 FastCGI 将 C++ 二进制文件(使用 Wt 框架编写)公开为 Web 应用程序。 但是,在我修改应用程序并重新编译它之后,为了让新会话看到更改(活动会话继续使用旧版本直到过期),我必须重新加载 Apache。

是否可以以不需要重新加载 Apache 的方式配置系统,以使新编译的 FastCGI 应用程序可供用户使用? 谢谢。

I'm using FastCGI to expose a C++ binary (written using the Wt framework) as a web app. However, after I have modified the app and recompiled it, in order for new sessions to see the changes (active sessions keep using the old version until they expire), I have to reload Apache.

Is it possible to configure the system in such a way that doesn't require to reload Apache in order to make the newly compiled FastCGI app available to users? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傻比既视感 2024-07-14 04:20:23

引用常见问题解答:

由 mod_fastcgi 启动的应用程序可以使用 FastCgiServer 和/或 FastCgiConfig 的 autoUpdate 参数(请参阅 mod_fastcgi 文档)。 这种方法的一个缺点是,mod_fastcgi 将检查对应用程序新版本的每个请求。 更智能的实现可能会让应用程序本身定期检查(通过处理的请求数量或通过的时间),并重新加载是否存在更新版本的自身(或其库之一)。 如果进程管理器(例如嵌入在 mod_fastcgi 中的进程管理器)负责该进程,则只需退出就会导致创建一个新实例。

因此,您可以在配置中启用自动更新,或者您的程序通过您最喜欢的某种机制自行重新加载。

Quote from the FAQ:

Applications started by mod_fastcgi can use the autoUpdate argument to FastCgiServer and/or FastCgiConfig (see the mod_fastcgi docs). A drawback to this approach is that, mod_fastcgi will check on every request for a new version of the application. A smarter implementation might have the application itself check periodically (either by number of requests handled or by time passed) and reload if a newer version of itself (or one of its libraries) exists. If a process manager, such as that embedded in mod_fastcgi, is responsible for the process, simply exiting will cause a new instance to be created.

So, you either enable automatic update in the configuration, or your program does the reloading itself by some mechanism you like best.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文