标签: varnish

14
推荐指数
2
解决办法
2万
查看次数

清漆与其他反向代理

我正在与一个组织合作,该组织已部署 Varnish 作为其所有 Web 流量的缓存反向代理。他们的流量由大量客户生成的动态网站组成,通常收集静态资产。

虽然我试图喜欢 varnish(原则上我认为它有一个非常好的架构),但我在管理它和解决出现的问题时遇到了一些麻烦,所以我想知道它是否真的是正确的选择。之前我用squid做反向代理,但是作用不同,所以没有比较明确的依据。

我的问题针对在生产中部署了 varnish 或针对替代方案认真评估它的人:您是坚持使用 varnish,还是最终使用了另一个反向代理?你坚持或转换的关键点是什么,如果你确实使用了其他东西,你最终使用了什么?

squid varnish reverse-proxy

13
推荐指数
1
解决办法
5082
查看次数

Nginx 清漆 Nginx Django?

我有一个 django 应用程序,我想在它前面的服务器上设置 Varnish。在另一个 serverfault 线程中,有人建议将 Nginx 放在 Varnish 前面。

我应该将 Nginx 放在缓存服务器上的 Varnish 前面吗?如果是这样,我应该在应用服务器上使用 Nginx 吗?

nginx varnish django

13
推荐指数
1
解决办法
7555
查看次数

使用 varnishadm 清除单个 URL 的清漆缓存

一个 Wordpress 网站正在使用 Varnish。

我想为单个 URL 而不是整个域清除 Varnish。

使用此命令,我可以为整个域重新启动 Varnish:

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'
Run Code Online (Sandbox Code Playgroud)

但是,我只想为单个 url 清除清漆。

前任: www.foo.com/url_to_be_purged

我试过用单个 URL 替换上一个命令:

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'
Run Code Online (Sandbox Code Playgroud)

但它没有用,URL 仍然是HITVarnish 中的。

关于如何实现这一目标的任何想法?

更新

根据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"
Run Code Online (Sandbox Code Playgroud)

我也试过这种变化:

varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged" …
Run Code Online (Sandbox Code Playgroud)

cache varnish

13
推荐指数
1
解决办法
3万
查看次数

如何在 N 个 apache 服务器之间平衡传入的 Web 流量?

我希望使用 Heartbeat/Squid/Varnish/etc 之类的东西来平衡内部 apache 实例之间的传入流量。这必须是软件而不是硬件,因为我所有的东西都在 VPS 上运行。我在这方面没有很多经验,如果我滥用术语并选择了错误的包,那么很抱歉。

我已经草拟了一些东西来说明我所追求的。绿色部分是初始设置的样子,蓝色部分是由于流量增加而添加更多 apache 实例后的样子。这可能不是这些事情的工作方式,但理想情况下,我会将平衡器的 IP 添加到域的 DNS 中。然后平衡器将查看每个 apache 实例上有多少连接(通过一些内部 IP 或永久 IP 的配置列表)并平均分配连接。蓝色部分有第二个平衡器,因为我确信在某些时候平衡器也需要帮助。

也许我正在解决这个错误,但我正在寻找关于“平衡器/s”应该是什么以及如何设置它们的最佳实践的帮助。

任何帮助都会很棒。 替代文字

squid varnish load-balancing heartbeat apache-2.2

12
推荐指数
1
解决办法
4764
查看次数

重新启动崩溃进程的简单方法?

我需要监控在我的网络服务器上运行的几个进程。出于某种原因,清漆目前每天或每两天崩溃一次。我正在使用 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
Run Code Online (Sandbox Code Playgroud)

日志文件显示,在varnish停止运行后,尝试重新启动之后都失败了。然后最终 monit 停止监视清漆。

有人对我如何解决这个问题有建议吗?或者更好的是,您能否提出其他简单的自动监控和重启崩溃进程的方法?谢谢!

linux monitoring web-server varnish monit

11
推荐指数
1
解决办法
4万
查看次数

清漆“FetchError 无后端连接”错误

清漆日志:

    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          - Rd ping
    0 CLI          - Wr 200 19 PONG 1340829931 1.0
   12 SessionOpen  c 108.62.115.226 46211 :80
   12 ReqStart     c 108.62.115.226 46211 467185881
   12 RxRequest …
Run Code Online (Sandbox Code Playgroud)

linux nginx varnish

11
推荐指数
1
解决办法
9454
查看次数

如何在 Ubuntu 上安装 Varnish 模块

我想为 Varnish Cache 安装一个额外的模块,即Shield 模块

我怎样才能做到这一点?我从 Ubuntu 存储库安装了 Varnish 3.0。

如何获取模块需要编译的 Varnish 源代码?我是否还需要从源代码编译 Varnish?这是否会禁用通过存储库更新 Varnish?

有人可以给出分步说明吗?

ubuntu varnish

11
推荐指数
1
解决办法
7111
查看次数

varnish 守护进程不监听配置的端口

我正在尝试在 ubuntu 16.04 上安装清漆,

我读了几篇文章都没有工作。从我读到的内容来看,从 ubuntu 15.04 开始,配置 varnish 的方式发生了变化(因为 systemd)。

现在我有一个真正的烂摊子,不起作用:


/etc/default/varnish :

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"
Run Code Online (Sandbox Code Playgroud)

/etc/varnish/default.vcl(通常它指向一个指向 127.0.0 和端口 8080 的主机,但出于调试目的,我将其修改为外部域) vcl 4.0;

# Default backend definition. Set this to point to your content server.
backend default {
    .host = "www.varnish-cache.org"; 
    .port = "80";
}
Run Code Online (Sandbox Code Playgroud)

/etc/apache2/ports.conf

Listen 8080
Run Code Online (Sandbox Code Playgroud)

grep -R 'ExecStart=/usr/sbin/varnishd' /etc/

/etc/systemd/system/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/varnish.service.d/customexec.conf:ExecStart=/usr/sbin/varnishd -a …
Run Code Online (Sandbox Code Playgroud)

ubuntu varnish service systemd ubuntu-16.04

11
推荐指数
2
解决办法
9820
查看次数

清漆需要很多内存吗?

除了虚拟内存,Varnish 的内存使用情况如何?

需要多少内存?

varnish

10
推荐指数
3
解决办法
2万
查看次数