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
?