频道栏目
首页 > 资讯 > Linux > 正文

解决Nginx与Tomcat整合下无法加载JSP中静态资源的问题

18-03-10        来源:[db:作者]  
收藏   我要投稿

背景:

最近需要整合新编写的实名注册模块,原系统是采用Nginx+PHP,而新编写的这个模块采用的是Tomcat+JSP,这个就需要好好的研究一下如何上线了,主要涉及到了Nginx的配置文件,因为Nginx静态代理的问题,我们需要在PHP中跳转到JSP页面中,但这也带来了很多问题:比如如何切换访问端口问题,比如JSP中的静态页面无法正常加载的问题。。

环境 Ubuntu16.04

解决切换访问端口问题

可以看到Nginx的端口为80,而Tomcat的端口为8080,当访问localhost如何切换端口就成了问题
这里写图片描述

只需简单的在Nginx配置文件中:如果是apt-get安装方式的目录为:/etc/nginx/sites-available/下面的 default文件

只需要结合自己的文件夹,按照图中红箭头标记,即可实现当访问:http://localhost/index.jsp 时,Nginx会自动反代理到http://localhost:8080/index.jsp 中去。

这里写图片描述

解决JSP页面中JS/CSS等静态资源无法加载的问题

先上一张图,可以看到,我的请求资源有什么不同呢!答对了,那就是加上了绝对路径 http://localhost:8080/ 如果没有加上的话,那么JSP页面会默认取加载如下路径: http://localhost/………. 这是不可能加载得到的,所以当你碰到这种问题的时候,也可以尝试在JSP中添加绝对路径,而不是相对路径 ,有人尝试着在Nginx配置文件中加入静态资源配置文件,这样的做法只能满足使得Nginx加载,而无法解决我所碰到的问题,还有些人想到将PHP和JSP中的静态资源整合出来到一起,这样做的方式将会加大难度,且过程不可控,所以我采用了这种绝对路径的方式 完美解决这个问题.

这里写图片描述

这里写图片描述

小结

Nginx确实是一个很不错的东西,简单轻便,重点是优点太多,希望以后能够越来越熟悉它!

相关TAG标签
上一篇:Centos7服务器下Nginx安装教程
下一篇:IBM MQ关闭原因 Code 2,Reason 2009 达到最大连接数
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站