我是新configuration清漆。 我正在尝试将我在AWS上制作的清漆设置复制到另一台服务器上。 这是一个场景: 我有2个服务器提供Web内容(Web1和Web2),这是一个负载平衡的对。 我们有Web1运行和configuration正确,现在我只是Web2通过光油指向Web1。 这里是/ etc / sysconfig / varnish的内容: NFILES=131072 MEMLOCK=82000 RELOAD_VCL=1 DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/varnish_storage.bin,1G" 这里是我的/etc/varnish/default.vcl的内容(注意,我已经在这里replace了主机的IP地址)。 我目前有一个裸VCL,这是工作: backend default { .host = "xxx.xxx.xxx.xxx"; .port = "80"; } sub vcl_recv { } 现在,如果我开始在vcl_recv中添加“宽限期”设置,varnish拒绝启动: backend default { .host = […]
我正在寻找一个HTTP反向代理,将以高性能的方式处理HTTP实时stream媒体用例。 假设文件/碎片大小高达4MB,同一文件的客户请求的持续负载非常接近(请求到达,而后端满足第一个请求)。 CDN服务将不会在这里使用。 在下面的每个Nginx和Varnish的事件中发生了什么(请插入你认为更合适的另一个解决scheme)? 客户端1请求反向代理(proxy_cache或Varnish),文件不被高速caching(MISS)。 代理向后端发出请求,并尝试填充本地caching并将响应传递给Client1 当Client1的请求正在被服务(在代理完成之前)时,其他客户对同一个文件的并发请求。 目标是: 代理将在从后端检索文件时阻止其他请求。 代理将在数据到达时同时为所有正在等待的客户端提供服务(当数据到达时,不是在整个文件被缓冲后)。 对于特定的文件,在任何给定时间只有一个后端请求会被创build。 所有的客户端都应该由来自后端的共享响应来提供服务。 例外情况是,如果客户端针对不同的范围进行HTTP范围请求。 哪种解决scheme最适合在像这样要求更大的文件? 如果有任何关键的configuration设置,以达到预期的效果,请分享。 谢谢!
我目前在Rackspace上有4个Web应用程序服务器(在应用程序上运行),位于Load Balancer后面(在Rackspace上)。 在负载均衡器前面。 应用程序本身适度使用caching,所以我知道这可以在很大程度上得到改善。 我目前的架构: RS Load Balancer (SSL Termination) -> 4 Web Servers (Apache) -> MySql 这个设置在我面前已经到位了,现在我有机会清理一些东西,所以我想到了这一点: Varnish -> HAProxy (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql 要么 Varnish -> nginx (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql 或者,在代理之后并在每个Web服务器之前都有更好的清漆: nginx […]
以下是一个命令输出示例: varnish> backend.list 200 Backend name Refs Admin Probe webserver01(172.31.30.167,,80) 7 probe Healthy 6/6 webserver02(172.31.24.128,,80) 11 probe Healthy 6/6
在我的工作地点,我们已经用完了可用的IP地址,以便分配给我们面向公众的UAT服务器。 因此,我们将所有stream量从另一个服务器IP地址的端口9999路由到我们的UAT服务器上的端口80。 这在大多数情况下工作正常,但testing外部服务,如贝宝变得不可能,因为贝宝从回叫url中删除端口号,所以我们面向公众的UAT服务器不能与付款网关交互。 作为一个解决方法,我build议如下: 购买具有唯一IP地址的最便宜的Digital Ocean容器。 指向所有UAT域的DNS到这个容器。 阻止除UAT服务器的容器以外的所有stream量。 设置某种反向代理将所有stream量从DO容器路由到UAT服务器。 我不知道怎么做的部分是反向代理部分。 我假设我需要Nginx或Varnish。 但是,该解决scheme需要处理用户会话和file upload,DO容器只能作为代理进行操作,不能存储这些信息。 这可能吗? 如果是的话,我该怎么办呢? 我没有偏好DO容器的操作系统或软件,所以我们欢迎任何build议。 请不要告诉我,我们应该如何获得另一个IP地址,而不是为了这个冗长的解决scheme。 我清楚知道这是过分的,但目前我们不能购买任何其他IP块,所以这是一个临时措施,直到发生这种情况。
我在Debian上安装了varnish。 我在http://example.com上有一个在Apache上运行的网站 这是我的/etc/varnish/default vcl 4.0; backend default { .host = "example.com"; .port = "8080"; } 清漆开始,我可以看到网站的内容在http://127.0.0.1:6081/ 响应标题: Pragma: no-cache Date: Tue, 25 Aug 2015 12:29:38 GMT Content-Encoding: gzip Server: Apache/2.4.10 (Ubuntu) Age: 0 X-Powered-By: PHP/5.6.4-4ubuntu6.2 Vary: Accept-Encoding Content-Type: text/html; charset=UTF-8 Via: 1.1 varnish-v4 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 X-Varnish: 229436 Connection: keep-alive Accept-Ranges: bytes […]
我有清漆后HAproxy,我需要使用基于Cookie的会话亲和力。 在默认configuration中,varnish在cookie存在时不会caching内容。 任何人都知道,如何告诉清除“忽略这个cookie:SERVERID”? 我发现这一点,但我没有在我的configuration这些指令: 如何使光油忽视,而不是删除Cookie 我无法删除这个cookie,我需要在haproxy上使用正确的服务器。 清漆版本= 3.0.7 谢谢
我有一个问题与清漆,这将删除HTTP_HOSTvariables。 我的设置是nginx – >(1从5服务器:) varnish – >本地nginx – > php5-fpm。 我正在运行几个网站,但没有Host只是显示默认网站。 /etc/varnish/default.vcl # This is a basic VCL configuration file for varnish. See the vcl(7) # man page for details on VCL syntax and semantics. # # Default backend definition. Set this to point to your content # server. # backend default { .host = […]
我打算在负载平衡器(HAProxy或nginx本身)后面运行一些微型的ARM“物理云”服务器,但是我不能决定把Varnish放在什么地方。 我可以在每个实例上都有,在本地做这个工作,但是看到内容是一样的,看起来很浪费。 我也可以在与负载均衡器相同的实例上拥有它 – 但是这会在前面或后面创build问题? 对我来说,从逻辑上讲,它应该在前面 – 如果它可以从caching中获取页面,则不需要打扰请求的负载平衡器。 而且,我甚至可以删除负载平衡器,并使用Varnish在后端实例之间循环。 但是,我在网上发现了许多不同的解决scheme,没有任何(最近的)基准testing或者任何变种的优点/缺点,所以我不能决定我的“理想”场景是否存在任何问题(作为负载均衡器和caching引擎的Varnish) 。 那么 – 使用Varnish作为负载平衡器是否可行? 如果不是,我应该把它放在负载平衡器本身的前面还是后面?
我们在包含一些ESI块的应用程序前使用Varnish(4)。 我们所看到的(如预期的那样),只要我们的后端响应初始请求,varnish就会从服务器stream式传输响应。 这个问题是子请求(ESI)在加载时有时可能会暂停(因为它们没有从caching中提供),这会导致页面上出现明显的“加载混乱”。 我们宁愿让清漆等到整个回应准备好之后再回来(我知道这会增加ttfb,但我认为对于我们的用户来说感觉到的加载速度更快)。 这是一个坏主意吗? 无论如何,通过configuration/ VCL清漆,或者我需要在我的清漆实例(双清漆!)前运行另一个清漆实例。