配置tomcat tomcat与nginx的整合
前几天终于肝完了jQuery,和朋友交流了一下才发现,自己的服务器只有前端没有后端,前一阵看的Javaspring完全没有运行环境,没办法,补一下后端的配置。
tomcat配置
昨晚研究了半天,恶补了一下大三的网路层次,发现只配置了一个nginx是不够的,nginx只能处理静态的元素,如果是jsp这类动态的文件,就没有用武之处,而springMVC仍然需要使用jsp处理动态请求,所以这种问题需要借助tomcat,利用tomcat来处理动态的处理,这就引出了后面的动静分离。
配置tomcat需要配置java环境,真的是吃大亏,当初大二学java的时候环境变量找舍友配的,自己完全没搞明白,这会又要上网查教程,查教程没注意发布时间,第一次找了个12年的教程,老掉渣,装了一次没装上,后来换了一个教程才搞定。
服务器上配置Java和在自己电脑上配置是差不多的,首先去官网下载好jdk,看好自己服务器的系统、位数,选择合适的jdk版本,个人选择的是下面这个:
将这个文件上传到自己的服务器上,放在/usr/local/java路径下,之后用指令解压:
tar -zxvf jdk-8u171-linux-x64.tar.gz
这里解压有时候会出现没权限的问题,这时候可以用调整权限的指令修改一下。解压完成后就可以进行环境变量的配置,需要编辑profile文件,这个文件在etc路径下,可以直接使用指令,也可以利用xftp将文件用记事本打开。在文件的最后添加上这样三句代码:
export JAVA_HOME=/usr/local/java/jdk包的名字
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
之后退出保存,需要再让profile文件生效一下,使用下面的指令:
source /etc/profile
至此java环境就算是配置完成了,可以使用javac来检验一下,如果出现了一大堆说明配置成功了,也可以使用下面的指令查看java版本,查询成功说明java配置成功。
java -version
现在弄好了java,再安装tomcat,也是去官网下载,我下载的是这个版本:
下载好之后同样用xftp传到服务器上,放在/usr/local/tomcat路径下,同样使用指令解压后,修改profile文件,再文件最后加上下面三句代码,具体要根据你放的路径,路径错了就会失败:
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.43
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.43
export PATH=$CATALINA_HOME/bin:$PATH
现在配置好了环境变量,直接用指令启动tomcat即可,使用指令./startup.sh 启动tomcat服务,之后可以利用curl8080端口来检验是否成功启动,如果成功会返回一大串html代码。
tomcat与nginx的整合
所谓整合,主要还是因为nginx只能访问静态资源,而tomcat支持动静但是静态资源访问开销太大,所以我们整合的主要思路还是让nginx去访问静态资源,而让tomcat去处理动态资源,这样的方法就是整合,整合后就实现了动静分离。
首先去阿里云的控制台,把安全组里面8080端口给打开,这样才可以反向代理。
基本思路是利用nginx的配置文件,如果检测到访问的是jsp文件,那么就利用反向代理,发送给tomcat,如果是静态的文件,就直接自己打开。
反向代理相当于一个中介,我们和nginx的通信是我们发nginx收,而在nginx和tomcat之间的通信,nginx起的就是我们的作用,通过nginx作为代理向tomcat通信。而通信的端口就是之前打开的8080。
整个整合的过程只需要修改nginx.conf文件就够了。之前我们配置过https,已经让访问80端口的全部重定向到了443接口,现在我们需要的是在443接口上分流,让对jsp文件的访问转向8080端口到达tomcat,而其它文件保持不变。
当初配置https的时候,我们是利用location来判断的,这里增加这样一段代码:
location ~ .*.jsp$ {proxy_pass http://8.131.103.249:8080;proxy_set_header Host $host;}
这段代码的意思是对于访问地址是jsp结尾的地址,冲定向到http://8.131.103.249:8080,这个proxy_pass就是重定向的位置,这里我们将其重定向到tomcat端口,就可以实现动态文件交给tomcat来访问的操作。
现在还需要进行一些修改,我们只是配置完成了动静分离,静的文件我们已经能访问了,要将动态的jsp文件放在哪里也是个问题。当初大三上企业级开发的时候老师并没有讲tomcat的原理,使用eclipse编写的代码运行在tomcat上,tomcat会将文件放在自己的路径下面,所以我们也要将编写的示例jsp文件放在tomcat路径下面,即下图位置中的webapps文件夹内:
扔进去一个简简单单的示例jsp就够了,然后在原本的网页里面留一个访问这个jsp的超链接,这样点击这个超链接,我们就通过tomcat访问到了jsp文件:
再次梳理一遍整个的流程,对80端口的转向到了443端口,nginx根据访问文件的类型,如果是动态的jsp就通过8080端口反向代理给tomcat,tomcat访问自己webapps文件夹下的相应位置从而打开jsp文件,如果是静态的文件,就直接交给nginx打开自己路径下面的静态文件。至此我们就可以利用jsp来编写后端的方法了。
配置tomcat tomcat与nginx的整合相关推荐
- tomcat ng mysql 集成_整合nginx,tomcat,mysql的安装与配置
linux下Nginx+tomcat+mysql整合的安装与配置维护 安装Tomcat和JDK上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin ...
- jsp+php 服务器环境,Windows下Apache+Tomcat+jsp+php的服务器整合配置
具体配置参照 Windows下Apache+Tomcat+jsp+php的服务器整合配置出现Service Unavailable错误 Service Unavailable The server i ...
- Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件
Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件 1.查看jks文件中的entry. keytool -list -keystore server.jks Enter ...
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...
- Linux安装jdk,mysql,tomcat,redis和nginx
Linux安装jdk,mysql,tomcat,redis和nginx 1. jdk 2. mysql 3. tomcat 4. redis 5. nginx 首先安装lrzsz: yum -y in ...
- Myeclipse8.5配置本地tomcat
Myeclipse8.5配置本地tomcat环境 1.打开Myeclipse,点击Window-Preferences-Myeclipse-Servers-Tomcat-Tomcat 6.X选择自己的 ...
- saltstack(八):saltstack配置管理-安装配置启动tomcat样例
Saltstack配置启动tomcat 判断minion有没有安装jdk和tomcat,没有就分别源码安装,并以普通用户启动. #有一个认识上的坑,saltstack实际上是基于状态管理,例如说tom ...
- idea springboot配置外置tomcat好处
idea springboot配置外置tomcat好处: 1.原先用内置的tomcat,改动一点点java代码,热部署时会自动重启(可以重控制台中重到)---------慢 2.原先用内置的tomca ...
- log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息
log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息 日志信息可以以文件形式显示,也可以在控制台输出,在 log4j.properties 文件设置. 控制台有很多 ...
最新文章
- outlier异常值检验原理和处理方法
- rust 案例_理解Rust的引用与借用
- linux多系统更改启动顺序
- ITK:在不复制内存的情况下为每个像素添加常量
- python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...
- echarts 地图 dispatchaction不好使_数据分析帝:广东省客户数量地图展示,如何通过python实现?...
- html在线消息,HTML5之消息通知的使用(Web Notification)
- 3. 机器学习中为什么需要梯度下降_【干货】机器学习 | 为什么机器能“学习”?——感知器和梯度下降...
- 苹果鼓励美国员工赴中国出差 一天500美元奖金
- Tmk吃汤饭(模拟)
- java day52【综合案例day04】
- 博文视点Open Party——PPT演示专家秘技 报名中
- [转]ASP.NET 页生命周期概述
- crontab的使用记录
- WinForm上显示gif动画
- 第7节 简单抓包实验及验证帧结构——基于“科来”软件
- python70行代码爬取链家网上万条租房数据——北京各地区租房信息
- 流行于大学里的30个脑筋急转弯
- 服务器上自动备份数据库突然不备份了
- Shell IFS变量