作者回复: √
作者回复: great。
作者回复: great
作者回复:
1.Nginx的内容很多,看你想学哪方面了。如果是单纯的运维操作网上的资料有很多,如果是想学Nginx开发和源码就看《Nginx完全开发指南》吧。
2.说的很对,看Nginx源码可以学到很多高性能编程的技巧。
3.Nginx里也可以使用多线程,但需要“魔改”。
作者回复: √
作者回复: 说的很好。
作者回复:
1.unix/linux有个特别的功能,可以让进程“绑定”在一个cpu上运行,不会被操作系统调度到其他cpu上跑,这样就减少了切换的成本,提高运行效率。不是管理进程的意思。配置指令是“worker_cpu_affinity”。
2.在unix上有很多服务管理程序,比如systemd、supervisor,可以实现进程监控、自动重启等。而Nginx的master进程实现了同样的功能,就不需要这样的外部程序来管理进程,保持服务的稳定性。
作者回复: nginx也是单线程的,和redis一样自己封装了epoll。单线程的好处是没有race condition,处理简单。
nginx比redis高明的一点是多进程,提高了稳定性和并发能力。
作者回复: 感谢支持,有问题也可以在GitHub上提issue。
作者回复: 对,所以Nginx采用的是多进程+单线程的模式。
作者回复: 其实底层都是epoll。
作者回复: 正向代理和反向代理是根据它所在的位置来定义的,靠近客户端就是正向,靠近服务器就是反向。
代理与缓存是不相关的,代理可以没有缓存功能。
作者回复: 高并发高性能、低资源消耗、稳定,配置方便,功能丰富。