我有一个具有缓存后端的应用程序,我想在重新启动Web服务器时清除缓存。
是否有apache配置指令或任何其他方式在webserver(re)启动时执行shell脚本?
谢谢, 菲尔
添加更多信息,正如一些答案所说:
答案 0 :(得分:2)
你这里没有提供很多细节,所以很难给出具体的答案,但我建议你最好的选择是编写一个处理重启apache并清除缓存的脚本。它看起来像这样:
#!/bin/sh
# restart apache
/etc/init.d/httpd graceful
# whatever needs to be done to clear cache
rm -rf /my/cache/dir
Ramy建议修改Apache的系统启动脚本 - 这是一个坏主意!如果您在服务器上更新Apache,则很可能会丢失您的更改。
Dirk表示你想要做的事情可能是错误的,我认为他是对的。您还没有告诉我们您正在运行什么平台,但我可以想到一些情况,重新启动您的网络服务器和清除缓存实际上需要一起发生。
答案 1 :(得分:1)
您可以在 /etc/init.d/httpd 中修改Apache Web服务器的启动脚本,并在其中编写自己的语法。
chattr + i /etc/init.d/httpd
答案 2 :(得分:0)
如果您有(root)访问服务器的权限,您可以通过shell脚本执行此操作,但我会考虑是否是依赖apache重启的最佳缓存管理方式。