Articles of 清漆

Varnish – > Nginx – > Apache的一个好主意?

我正在考虑一个新的Web服务器的体系结构。 将Varnish作为Nginx之前的caching作为反向代理,并在apache之前为静态文件提供静态文件是一个好主意? 我要在rails应用程序上运行php和ruby。 会有太多的开销通过PHP请求通过其他两个进程的Apache? 非常感谢!

简单的方法重新启动坠毁的进程?

我需要监视在我的web服务器上运行的几个进程。 由于某种原因,清漆现在每天都会崩溃一两次。 我正在使用monit来自动重新启动清漆,但它不起作用。 这是我的用于Varnish的monit.conf条目。 check process varnish with pidfile /var/run/varnish.pid start program = "/etc/init.d/varnish start" with timeout 60 seconds stop program = "/etc/init.d/varnish stop" if failed host <my server ip> port 80 protocol http and request "/blank.html" then restart if 3 restarts within 5 cycles then timeout group server 日志文件显示清漆停止运行后,尝试重新启动后都失败。 然后最后监视清漆。 任何人都有如何解决这个问题的build议? 或者更好的是,你可以build议其他简单的方法来自动监视和重新启动崩溃的进程? 谢谢!

清漆“FetchError没有后端连接”错误

Varnishlog: 0 CLI – Rd ping 0 CLI – Wr 200 19 PONG 1340829925 1.0 12 SessionOpen c 79.124.74.11 3063 :80 12 SessionClose c EOF 12 StatSess c 79.124.74.11 3063 0 1 0 0 0 0 0 0 0 CLI – Rd ping 0 CLI – Wr 200 19 PONG 1340829928 1.0 0 CLI – […]

SSI(服务器端包含)和ESI(边缘端包含)之间的主要差异

我需要将dynamic内容包含到Web服务器级别的静态页面中。 到目前为止我发现的两个选项是Server Side Include (SSI)和Edge Side Include (ESI) 。 尽pipeSSI的起源似乎比较古老和模糊( 伊利诺斯大学的95页的caching页面似乎是参考文献 ,显然是来自NCSA httpdnetworking服务器,它曾经为95%的networking供电 )并欣喜( 从2001年的w3规格,主要是由Akamai的人写的 )。 另外,我一直听到有关Varnish + ESI ,我想知道是否应该走这条路。 不过,我已经用nginx做了一个设置,只支持SSI ,并希望遵循KISS原则,并尽可能避免使用Varnish 。 对于我的直接用例来说,在每个页面顶部都会包含一个dynamic用户栏,我相信SSI将会完成这项工作。 然而,我担心的是,随着我的网站的增长,我只需要ESI支持的function,这将迫使我重新devise所有的东西,这引起了我的问题(最后读者说): SSI不支持哪些主要function会使您selectESI (反之亦然)?

使用varnishadm清除单个url的清漆caching

正在Wordpress网站中使用光油。 我想清除Varnish的单个url,而不是整个域名。 使用这个命令,我可以重新启动整个域的清漆: varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"' 不过,我想只清除一个url的清漆。 例如: www.foo.com/url_to_be_purged 我已经尝试了以前的命令将其replace为单个URL: varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"' 但是这并不起作用,URL仍然是Varnish的HIT 。 任何想法,我怎么能做到这一点? UPDATE 正如build议ghloogh的答案,我已经尝试了以下命令: varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == http://www.foo.com/url_to_be_purged" 我也尝试过这种变化: varnishadm -T :6082 […]

如何在N个Apache服务器之间平衡传入的networkingstream量?

我正在寻找像使用Heartbeat / Squid / Varnish / etc等来平衡内部apache实例之间的传入stream量。 这必须是软件,而不是硬件,因为我所有的东西都运行在VPS上。 我在这个领域没有太多的经验,所以如果我滥用术语,选错了软件包,我会感到抱歉。 我已经绘制了一些东西来说明我所追求的。 绿色的一面是初始设置的样子,蓝色的一面是增加更多的Apache实例后,由于stream量增加可能看起来像什么。 这可能不是如何工作,但理想情况下,我会将平衡器的IP添加到域的DNS。 然后平衡器会看到每个apache实例上有多less个连接(通过内部IP或永久IP的某个configuration列表),并平均分配连接。 在蓝色有第二个平衡器,因为我相信在某些时候平衡器也需要帮助。 也许我正在讨论这个错误,但是我正在寻找关于“平衡器”应该是什么的帮助以及如何设置它们的最佳实践。 任何帮助将是伟大的。

如何在Ubuntu上安装Varnish模块

我想为Varnish Cache( Shield模块)安装一个额外的模块 。 我怎样才能做到这一点? 我从Ubuntu储存库安装了Varnish 3.0。 如何获得模块需要编译的光油源代码? 我是否也需要从源代码中编译Varnish? 这是否禁用通过存储库更新清漆? 有人可以提供一个一步一步的指示?

清漆与其他反向代理

我正在与一个已经将Varnish部署为所有Web通信的caching逆向代理的组织一起工作。 他们的stream量构成了很多客户生成的dynamic网站,通常收集的静态资产悬而未决。 虽然我试图喜欢清漆(我认为它有一个相当不错的架构,原则上),我有一些麻烦pipe理和解决问题,因为他们出现,所以我想知道如果这是真的是正确的select。 我以前用过鱿鱼作为反向代理,但没有同样的作用,所以我没有明确的比较基础。 我的问题是针对那些在生产中使用过清漆的人,或者是针对替代品进行认真的评估:你是否坚持使用清漆,还是最终使用了另一种反向代理? 与此同时,切换的关键点是什么?如果你使用了别的东西,你最终会用到什么?

代理程序包存储库的最佳实践

我的公司networking中有一系列CentOS服务器。 出于安全原因,除非是服务器的核心function要求,否则大多数服务器不具有通用的出站Internet访问。 当我需要更新软件包时,这会产生一个挑战。 对于yum软件仓库,我目前从互联网镜像所有需要的仓库,并使镜像在内部网中可用。 我在每个五个环境中保留每个回购的副本:开发,质量保证,分期和两个生产数据中心。 我目前没有解决特定于语言的软件包回购问题。 当服务器需要从rubygems,PyPI,PECL,CPAN或npm进行更新时,他们必须获取临时出站Internet访问来获取软件包。 我被要求开始镜像rubygems和PyPI,其余的可能会跟着。 所有这些都是笨重的,并不能很好地工作。 我想用一个环境中的单个caching代理和其他环境中的四个菊花链代理replace它,以消除全镜像的复杂性和磁盘开销。 另外: 它可以是正向或反向代理; 每个软件包pipe理器都支持代理服务器或自定义存储库端点,可以是本地镜像或反向代理。 它需要精细的访问控制,所以我可以限制哪些客户端IP可以连接到哪个回购域。 客户需要能够遵循redirect到未知的领域。 您的原始请求可能仅限于rubygems.org,但是如果该服务器将302返回给随机CDN,则应该可以遵循该请求。 它应该支持HTTPS后端。 我不一定需要模拟其他SSL服务器,但我应该能够通过HTTP重新公开一个HTTPS站点,或者终止并使用不同的证书重新encryption。 我最初是在寻找逆向代理,而Varnish似乎是唯一一个能够让我在内部解决代理中的302redirect的问题。 但是,免费版本的Varnish不支持HTTPS后端。 我现在正在评估Squid作为正向代理选项。 这似乎是企业networking中应该是一个相对普遍的问题,但是我很难find其他人如何解决这个问题的例子。 有没有人执行过类似的事情,或者对如何做到最好? 谢谢!

Nginx的清漆Nginx的Django?

我有一个django应用程序,我想在它前面的服务器上设置清漆。 在另一个服务器故障线程中,有人build议把Nginx放在Varnish的前面。 我应该把Nginx放在caching服务器上的Varnish前面吗? 如果是这样,我应该在应用服务器上使用Nginx吗?