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

 

你可能感兴趣的:(nginx)