Nginx+Keepalived+Tomcat之动静分离的web集群
http://linuxxx.blog.51cto.com/1824808/705590
Linux nginx 动静态分离 (图)
http://www.zdh1909.com/html/Cisco/15799.html
1:nginx.conf
location / {
proxy_set_header Host $host;
proxy_pass http://172.16.1.199:80; ;因为机器都只一台,所以没用upstream
} ;效果一样
location ~* \.php$ {
proxy_set_header Host $host;
proxy_pass http://172.16.1.199:80;
}
location ~* \.(jpg|gif|png)$ {
proxy_set_header Host $host;
proxy_pass http://172.16.1.55:80;
}
2:上传0.gif、1.gif 到172.16.1.57,并启动web服务器
3:在172.16.1.55 启动squid
4:在172.16.1.199 vi index.php
<?php
$a = rand()%2;
echo "<h1>$a</h1>";
echo "<img src=\"$a.gif\"></img>";
?>
并启动web server!
5:在client 上用firefox多次刷新,用httpfox 就能看到图片缓存了!
6:顺便加上rewrite!
172.16.1.199 vi /index.php
<?php
if (isset ($_GET["pic"])) {
$n = $_GET["pic"];
echo "<h1>$n</h1>";
echo "<img src=\"$n.gif\"></img>";
} else {
$a = rand()%2;
echo "<h1>$a</h1>";
echo "<img src=\"$a.gif\"></img>";
}
?>
172.16.1.54 vi nginx.conf
if ($uri ~* \.html$) {
rewrite ^/(.*)\.html$ /index.php?pic=$1;
}
7:最后直接访问http://url/0.html http://url/1.html ,http://url/ 同样能访问,至此伪静态也顺便实现了! 当然要实现动静态分离,用squid 的cache_peer也能 实现,不过nginx 可以hash $uri ,hash $uri 确实蛮实用。
8:觉得内容路由比动静态分离好听!