nginx.conf
静态资源 和tomcat服务分离
server {
listen 80 default;
server_name _;
index index.html index.htm index.jsp;
root /alidata/server/apache-tomcat-7.0.62/webapps;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
location ~ .*\.(html)$ {
proxy_pass http://127.0.0.1:8080;
<span style="white-space:pre"> </span> }
location ~ /XXXweb
{
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_pass http://127.0.0.1:8080;
}
}
页面加载静态资源的地址
http://web.xxxxx.com.cn/XXXweb/resources/images/logo_bima.png
被代理后调用服务器的地址为
/alidata/server/apache-tomcat-7.0.62/webapps/XXXweb/resources/images/logo_bima.png
其中注意 如果写成如下配置
root /alidata/server/apache-tomcat-7.0.62/webapps;
location ~ .*\.(html)$ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /XXXweb
{
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_pass http://127.0.0.1:8080;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
就会无效了 静态资源 还会去找tomcat 下的静态资源 没有起到代理的效果
tomcat的服务器压力还是和原来一样 可以自己做一下测试 ,放一个资源文件 不同名字 , 一个在代理的路径下 一个在tomcat资源下面
在url 里面调用 比如一个图片 看哪个能显示 判断哪个路径起了效果。
原因可能是先匹配的location 起到了作用
每次配置完 nginx.conf
记得重启
root@iZ23dznliuvZ:/usr/sbin# ./nginx -s reload