我通常:
- 更新我本地的近乎副本(ServerName 指令和日志显然会有所不同)的生产配置文件并对重写规则等进行更改。
- /etc/init.d/apache2 在本地重新启动或正常启动并确保其正常运行
- 将 conf 文件复制到生产服务器
- apache2ctl 配置测试
- apache2ctl 优雅
我从未真正遵循过任何指南,只是学会了一些命令。通常都是这样做的吗?我几乎总是在生产服务器上使用优雅,因为我不想因为完全重启而丢失客户端 - 优雅重启相当常见,对吧?在哪些情况下优雅是不够的,我需要完全重启?
答案1
这取决于您的规模——您已经掌握了基本步骤,主要区别在于配置文件如何传播到生产服务器(更大的站点将涉及将其签入修订控制并等待或强制 Puppet、Chef、CfEngine 等传播更改)以及所使用的自动化程度(再次,更大的站点希望有更多的自动化程序,因为它们将处理多个服务器)。
至于优雅重启与硬重启——在优雅重启中,“主”Apache 父进程不会退出,只有工作子进程会退出。我见过主进程有某种缓存状态(旧 DNS 等)的情况,这些缓存状态不会通过优雅重启清除,而只会通过完整的停止/启动循环清除。