对于 Varnish,我看到两个进程正在运行,一个是其他进程的子进程
nobody 10499 23634 0 22:25 ? 00:00:00 varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80
root 23634 1 0 19:33 ? 00:00:00 varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80
它实际上是如何工作的?
最佳答案
Varnish有两个主要过程:管理过程和子过程。管理
处理应用配置更改(VCL和参数),编译VCL,监视Varnish,初始化
Varnish 并提供命令行界面,可直接在终端上或通过
管理界面。
管理进程每隔几秒钟轮询一次子进程,以查看它是否仍然存在。如果没有
在合理的时间内回复,管理过程将杀死 child 并重新开始备份。这
如果 child 意外退出,例如由于段错误或断言错误,也会发生同样的情况。
这样可以确保即使Varnish确实包含严重错误,它也将快速重新启动。通常在
几秒钟,视情况而定。
关于 Varnish - 为什么有两个过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24478244/