前几天终于肝完了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的整合相关推荐

  1. tomcat ng mysql 集成_整合nginx,tomcat,mysql的安装与配置

    linux下Nginx+tomcat+mysql整合的安装与配置维护 安装Tomcat和JDK上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin ...

  2. jsp+php 服务器环境,Windows下Apache+Tomcat+jsp+php的服务器整合配置

    具体配置参照 Windows下Apache+Tomcat+jsp+php的服务器整合配置出现Service Unavailable错误 Service Unavailable The server i ...

  3. Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件

    Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件 1.查看jks文件中的entry. keytool -list -keystore server.jks Enter ...

  4. JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)

    链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...

  5. 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 ...

  6. Myeclipse8.5配置本地tomcat

    Myeclipse8.5配置本地tomcat环境 1.打开Myeclipse,点击Window-Preferences-Myeclipse-Servers-Tomcat-Tomcat 6.X选择自己的 ...

  7. saltstack(八):saltstack配置管理-安装配置启动tomcat样例

    Saltstack配置启动tomcat 判断minion有没有安装jdk和tomcat,没有就分别源码安装,并以普通用户启动. #有一个认识上的坑,saltstack实际上是基于状态管理,例如说tom ...

  8. idea springboot配置外置tomcat好处

    idea springboot配置外置tomcat好处: 1.原先用内置的tomcat,改动一点点java代码,热部署时会自动重启(可以重控制台中重到)---------慢 2.原先用内置的tomca ...

  9. log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息

    log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息 日志信息可以以文件形式显示,也可以在控制台输出,在 log4j.properties 文件设置. 控制台有很多 ...

最新文章

  1. outlier异常值检验原理和处理方法
  2. rust 案例_理解Rust的引用与借用
  3. linux多系统更改启动顺序
  4. ITK:在不复制内存的情况下为每个像素添加常量
  5. python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...
  6. echarts 地图 dispatchaction不好使_数据分析帝:广东省客户数量地图展示,如何通过python实现?...
  7. html在线消息,HTML5之消息通知的使用(Web Notification)
  8. 3. 机器学习中为什么需要梯度下降_【干货】机器学习 | 为什么机器能“学习”?——感知器和梯度下降...
  9. 苹果鼓励美国员工赴中国出差 一天500美元奖金
  10. Tmk吃汤饭(模拟)
  11. java day52【综合案例day04】
  12. 博文视点Open Party——PPT演示专家秘技 报名中
  13. [转]ASP.NET 页生命周期概述
  14. crontab的使用记录
  15. WinForm上显示gif动画
  16. 第7节 简单抓包实验及验证帧结构——基于“科来”软件
  17. python70行代码爬取链家网上万条租房数据——北京各地区租房信息
  18. 流行于大学里的30个脑筋急转弯
  19. 服务器上自动备份数据库突然不备份了
  20. Shell IFS变量

热门文章

  1. 秒味课堂Angular js笔记------$scope.$watch和$scope.$apply
  2. Centos6.6安装Nginx
  3. java递归方法建立搜索二叉树,具备查找关键字,插入新节点功能
  4. Web之CSS开发技巧: CSS @media
  5. 扩展可以支持枚举类型的DorpDownList控件
  6. Oracle物化视图的简单使用
  7. TCP/UDP套接字网络协议
  8. 关于kv的jch分片存储
  9. Python一行代码
  10. 关于魔方里的工具修改方法