我为什么要用Squid?

我已经Google,searchStackOverflow和这里。 不过,我不能完全理解什么或为什么有人会使用Squid。

到目前为止,我所能find的是,它是某种caching,可以减less你的服务器(即Apache)所要做的工作。 那么有人可以澄清到底是什么鱿鱼,更重要的是,为什么我要使用Squid?

我有一个大的社交网站,所以也许这将有利于服务的图像或东西,我目前正在运行lighttpd从Apache分开,只为服务图像。

Squid是一个cachingWeb内容的Webcaching,并根据请求快速返回。 通过squid处理请求通常比通用的web服务器甚至对于简单的文件(例如图像)来得快,但是它真正用于cachingdynamic生成的页面,这可能是昂贵和缓慢的。 因此,它允许您dynamic构build页面,但可以让您快速向请求者提供静态的caching副本。 关于它的caching时间,caching的页面以及如何使caching的结果无效,有很多configuration可能。

例如,维基百科使用caching(鱿鱼和其他)作为内容加速器,以便页面上的每一个命中不会通过大量的PHP从数据库中重新生成。 当页面改变时,caching项目无效。

它的开源,甚至与Windows一起工作。

我还想补充一点,它不仅仅是一个网页caching。 squid.conf文件有很多选项。 我们正在运行它作为一个webfilter(使用免费的黑名单),甚至使用它来阻止一些机器上的端口。

除了这里的所有答案之外,Squid还可以用来过滤提供给最终用户的内容。 例如,您可以防止未成年人查看成人网站。

鱿鱼也可以扫描下载的文件对病毒。

是的,这真的很强大。

正如Morven指出,使用Squid作为反向代理可以通过caching页面来加速页面交付,页面必须由Web服务器dynamic构build,但实际上很less发生变化。

就我所知,这不是Squid的主要目的,而NGINX可能是更好的解决scheme,因为它应该是最快的反向代理解决scheme。 你也可以考虑一下。

如果您想要反向代理通过caching图像和生成缓慢的页面来加速Webstream量,则可能需要查看Varnish而不是Squid。 它专为反向代理行为而devise,闪电般快速,而且设置起来相当简单。 Squid被devise为一个正向代理而不是一个反向代理。 如果你有一个大型的社交网站,你也可以考虑使用CDN作为图片和静态内容。 Internet – > CDN – > Varnish – > Apache集群您也可以使用Varnish作为负载均衡器,因为它可以检查节点健康状况。

我没有使用Squid作为反向代理,但我使用Pount和HAProxy(同时),这是一个很棒的系统,我们用它来启用负载均衡和高可用性,并没有使用caching方面他们。

让我知道如果你想在设置更多的信息。

Squid通常用于将来自外部世界的内容caching到您的公司networking中。

您不会在托pipe或内容交付scheme中使用它。