10个小时才搞定的tomcat环境变量设置

文章适合于初学或即将开始学习JAVA的小伙伴,你将看到鲜活的踩坑和扫坑案例,还有许多今后整理过的各类参考路径。

10个小时才搞定的tomcat环境变量设置

一、tomcat和环境变量概述:

主题 内容
术语概念 环境变量:让系统能够找到对应软件的一组地址,可以理解为“系统的视线范围”
tomcat:目前最流行的轻量级HTTP服务器,可以在自己电脑上模拟B/S的互联网通信流程
内容 windows可以直接在可视化窗口设置;
Linux/Mac都需要在命令行设置,可以脑补一下后端工程师今后需要面对各种各样的部署场景都要求掌握熟练的命令行设置技巧

二、10个小时我究竟经历了哪些坑

这次痛点的根本缘由在于JAVA和tomcat的更新升级带来设置的变化,茫茫网海上各式各样的各类设置经验让人找不到北。

前前后后我大致踩了以下这些坑:

主题 具体坑
tomcat配置文件的定位 bin目录下和启动/关闭相关的参数文档足足有5个(catalina.sh、startup.sh、setclasspath.sh、setenv.sh、server.xml),逐一做了定位
除环境变量以外的设置 核心的参数文档中还包括端口、内存空间、编码格式、进程号的设置(排查的时候也没少试)
JDK相关 担心提议版的OPENJDK会有影响重装成JDK;
JDK从11版本开始就没有jre目录,网上一大堆的经验贴都带有/jre目录
其他相关 防火墙设置、进程强制kill、多次重启、更换浏览器

三、正确的设置过程

废话不多说,进入设置过程的正题,这次调试过程主要经历了四个环节:

10个小时才搞定的tomcat环境变量设置

具体落地成可执行的清单如下:

步骤 步骤类型 具体分析
1 下载tomcat 搜关键词”tomcat”,找到apache官网的tomcat下载页面,找Core类下的对应系统格式的压缩包
2 解压到制定目录 提议解压到和/usr/lib/java的节点目录下
命令:tar -zcvf 目标文件 解压到文件夹
3 文件夹权限设置 sudo chmod 777 -R apache-tomcat-9.0.37/
4 JDK环境变量确认 java -version命令确定java环境变量是否设置正常
export命令找到CLASSPATH项对应的值(冒号表明隔开多个值)
5 JRE目录确认 从JDK11大版本起,已经撤销单独的JRE文件,对应在tomcat设置时JRE_HOME也应该取JDK文件夹的地址,而不应该按网上加”/jre”(这里是一个大坑)
6 tomcat环境变量设置 (JAVA版本的更新和tomcat的更新都导致设置方法调整)
拿不定的时候研究README文档,每个软件都会负责地告知你准确的运行前要做的事情:
文档推荐在bin目录下单独的setenv.sh文件写上JAVA_HOME信息,具体的命令如下:
1、创建文件touch setenv.sh
2、进入vim编辑状态vim setenv.sh
3、按RUNNING.txt文档要求写入你的JRE_HOME地址(实际是JDK文件夹地址):
JRE_HOME=/usr/lib/java/jdk-14.0.2
CATALINA_PID=”$CATALINA_BASE/tomcat.pid”
(第二行命令照抄就行)
7 验证 1、在tomcat的bin目录下命令行输入./startup.sh,看是否返回tomcat started
2、在浏览器下打开http://localhost:8080如果正常出现页面表明tomcat服务开启
3、在tomcat的bin目录下命令行输入./shutdown.sh关闭服务
8 强行关闭进程 (这里也有个大坑,设置不完整会导致不能正常关闭,思考强行kill进程):
1、命令行输入ps aux 竖线 grep tomcat,看是否返回多行包含tomcat的命令,若有则句首的数字即表明tomcat的进程号;
2、kill 9 tomcat进程号
3、浏览器打开http://localhost:8080验证是否正常关闭
9 端口和编码格式设置(可以不设置) 若思考改tomcat端口号则在tomcat的conf目录下的server.xml文件修改以下代码:
<Connector port=”替换的端口号码” protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ URIEncoding=”UTF-8″/>

注:apache-tomcat-9.0.37和JDK-14.0.2要替换成你下载时相应的文件夹名称;
相关版本号:Ubuntu18.04、Mac10.13.6、Java-14.02、tomcat-9.0.37

四、附录

tomcat的相关设置必定会是今后避不掉的任务,可能还会面对多个版本并存的部署任务、内存设置等各种各样场景。
网上相关的讨论许多,有些当前已经涉及到的参考罗列如下:

主题 路径
《设置tomcat文件夹权限》 https://www.cnblogs.com/genghenggao/p/10313208.html
《设置tomcat端口号、编码格式》 https://www.jianshu.com/p/dfddbd8da05d
《在catalina.sh下配置tomcat内存大小》 https://jingyan.baidu.com/article/ff42efa9162ea5c19e22021c.html
《查看tomcat服务器的Log信息》 https://www.cnblogs.com/xdp-gacl/p/4097608.html
《用apt-install安装tomcat、查看防火墙、设置log文件夹》 https://cloud.tencent.com/developer/article/1562501
《Tomcat 添加CLASSPATHP配置 — WEB工程配置文件独立部署》 https://blog.csdn.net/qinglizoudangqi/article/details/52737684
《设置tomcat用户账号和远程IP修改权限》 https://www.cnblogs.com/guoapeng/p/9823716.html
tomcat/bin目录下的catalina.sh、startup.sh、setclasspath.sh三个文件定位 startup.sh—调用—>catalina.sh—引用—>setclasspath.sh
https://www.jianshu.com/p/ae1845ce3e8b
《在setclasspath.sh文件下设置》
https://blog.csdn.net/NONINETEEN/article/details/82828284
《在startup.sh文件下设置》 https://jingyan.baidu.com/article/e4d08ffd452ad70fd3f60d74.html
《Linux环境变量的设置和查看方法》 https://blog.csdn.net/yajunren/article/details/10103517
《防火墙服务和防火墙规则的区别与启动》 https://cloud.tencent.com/developer/article/1562501
《tomcat网络通信流程&server.xml文档详解》 https://blog.csdn.net/weixin_44717011/article/details/102809744
《80端口与8080端口的区别》 https://zhidao.baidu.com/question/92335390.html
《linux特殊符号大全》 https://www.cnblogs.com/besharp/articles/11163135.html

最后,谢谢大家查看,希望帮忙点赞和评论~

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
介么介么的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容