Linux nginx 动静态分离 (图)

Nginx+Keepalived+Tomcat之动静分离的web集群
http://linuxxx.blog.51cto.com/1824808/705590


Linux nginx 动静态分离 (图)_第1张图片


Linux nginx 动静态分离 (图)

http://www.zdh1909.com/html/Cisco/15799.html

Linux nginx 动静态分离 (图)_第2张图片

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:觉得内容路由比动静态分离好听!


你可能感兴趣的:(nginx,linux,server,header,firefox,web服务)