upstream jvm_webl{
server 192.168.0.134:8080 weight=1 max_fails=2 fail_timeout=30s;
#server 192.168.0.134:8081 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name www.yunwei1.com;
access_log logs/yunwei1.log;
#charset koi8-r;
#access_log logs/host.access.log main;
#access_log logs/host.access.log main;
root html/img;
location / {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jvm_webl;
}
location ~ .*\.(php|jsp|cgi|shtml)$
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jvm_webl;
}
location ~ .*\.(html|htm|gif|jpeg|jpg|bmp|png|ico|txt|js|css)$
{
root html/img;
expires 30d;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
access_log /data/logs/jvm_web1/access. log main;
error_log /data/logs/jvm_web1/error.log crit;
}
}
配置文件代码中 location ~ . * .( php | jsp | cgi | shtml)表示匹配动态页面请求,然后将通
过 proxy_pass到后端服务器,而 location ~ .*.( html | htm | gif | jpeg | ico | txt | js | css)表示
匹配静态页面请求本地返回。
检查 Nginx配置是否正确即可,然后测试动静分离是否成功,在192.168.0.134服务器启动8080、8081 Tomcat服务或者LAMP服务,删除后端 Tomcat或者LAMP服务器上的某个静态文件,测试是否能访问该文件,如果可以访问,则说明静态资源通过Nginx直接返回了,如果不能访问,则证明动静分离不成功。