Nginx/Squid无法HIT总是MISS的笨办法

我发现最近一台服务器总是无法让 Squid 命中,就是无法 HIT ,总是MISS. 

我的应用环境是 Nginx, Squid , Django Fcgi 。

原来的架构就是 Nginx , Squid , Nginx , Fcgi.

现在增加一层,就搞定了。

就是 Nginx(A), Squid, Nginx(B) , Nginx(C) , Fcgi 

原理就是 最外层的 Nginx 是主控A, 然后调用 Squid, Squid 调用 Nginx 的一个特殊端口号B, 然后这个Nginx 再去调用 Nginx 的一个端口号C, 最后这一级Nginx 去调用 Fcgi 进程。 

在B 这一层加上 expires 2d; 就是过期时间。 

        location /news {
            proxy_pass      http://icgoo_www;
            expires 2d;
        }

实际部署的时候, A和B可以在相同的服务器上, C 那一层完全可以部署到多台分布服务器上分担负载。  也就是说 C 那一层,可以有多台机器。

参考

 *http://nginx.org/en/docs/http/ngx_http_gzip_module.html

猜你喜欢

转载自xiaolin0199.iteye.com/blog/2016330
今日推荐