我有一个修改我的 httpd.conf 文件的 PHP 脚本,所以我需要在 Apache 中自动重新加载它。
在 Linux 上,可以正常重启,但在 Windows 上(我使用重启命令)它会终止所有当前连接。在 Windows 上是否有优雅重启的命令?有解决方法吗?
最佳答案
是的,您应该使用 -k 开关。
httpd.exe -k restart or apache.exe -k restart
这里有更多信息。 http://www.zrinity.com/developers/apache/usage.cfm
编辑:
这不应该是 Graceful 的意义所在。请注意,我使用了 -k
。这与正常重启不同。它让当前 session 在重新读取配置时完成它们的任务,以便它立即开始接受新请求。
来自文档:
USR1 或优雅信号导致父进程建议子进程在当前请求后退出(或者如果他们没有提供任何服务则立即退出)。父级重新读取其配置文件并重新打开其日志文件。当每个 child 死亡时, parent 会用新一代配置中的 child 替换它,它会立即开始为新请求提供服务。
http://httpd.apache.org/docs/2.2/stopping.html#graceful
它正在做您要求的事情。
编辑 2:
添加此链接并提供了两种可能的版本,因为有些人认为您只有一种特定的方式来做某事而不是自己搜索。
http://httpd.apache.org/docs/2.4/platform/windows.html#wincons
我想我只是要删除这个答案,因为要么人们无法阅读,要么如果它对某人不起作用,它就会得到一个 DV。不同的开发人员制作了不同的Windows版本。如果它不起作用,请从他们那里寻找答案。甚至 Linux 也有不同的命令,具体取决于发行版。哎呀
关于windows - Apache 2 - 在 Windows 上重新加载配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331678/