在配置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()这是获取你的服务器的名称 3、request.getServerPort()是获取服务端口号我在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负载均衡配置,布布扣,bubuko.com
原文地址:http://blog.csdn.net/ldw220817/article/details/38368655