BasePath问题-nginx负载均衡配置

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BasePath问题-nginx负载均衡配置相关的知识,希望对你有一定的参考价值。

在配置nginx+tomcat好后。将项目加入到webapps中。发现訪问主页时,css与js訪问不到,导致主页布局出错。细致分析原因后发现css与js的地址是basePath得出的。而basePath定义例如以下:

String basePath=request.getScheme() + request.getServerName()+request.getServerPort()+path;
当中

1、request.getScheme()返回协议的名称   http。和后面的"://" 拼起来就成了 http://
2、request.getServerName()这是获取你的server的名称
3、request.getServerPort()是获取服务port号
我在nginx定义了一个虚拟IP地址。而原来是这种:

upstream test{
        server 192.168.232.129:8080 weight=1;
        server 192.168.232.130:8080 weight=1;
        server 192.168.232.135:8080 weight=1;
}
但是这样訪问css会导致这种地址:http://test/项目名/....css,因为是指向域名,因此在測试过程中域名没有,所以改成例如以下方式:

upstream 192.168.232.140{
        server 192.168.232.129:8080 weight=1;
        server 192.168.232.130:8080 weight=1;
        server 192.168.232.135:8080 weight=1;
}
通过上述改变能够达到訪问的要求了,只是实际IP地址就暴露了,http://192.168.232.140/项目名/....css。因此假设在实际环境下,还须要改成域名。




以上是关于BasePath问题-nginx负载均衡配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx 负载均衡配置

nginx 配置负载均衡服务器

使用Nginx配置TCP负载均衡

Nginx负载均衡配置

利用nginx实现Redis的负载均衡,应该怎么配置?

OpenResty 动态负载均衡