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

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

一、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、多次重启、更换浏览器

三、正确的设置过程

废话不多说,进入设置过程的正题,这次调试过程主要经历了四个环节:
具体落地成可执行的清单如下:

步骤步骤类型具体分析
1下载tomcat搜关键词"tomcat",找到apache官网的tomcat下载页面,找Core类下的对应系统格式的压缩包
2解压到制定目录建议解压到和/usr/lib/java的节点目录下
命令:tar -zcvf 目标文件 解压到文件夹
3文件夹权限设置sudo chmod 777 -R apache-tomcat-9.0.37/
4JDK环境变量确认java -version命令确定java环境变量是否设置正常
export命令找到CLASSPATH项对应的值(冒号表示隔开多个值)
5JRE目录确认从JDK11大版本起,已经取消单独的JRE文件,对应在tomcat设置时JRE_HOME也应该取JDK文件夹的地址,而不应该按网上加"/jre"(这里是一个大坑)
6tomcat环境变量设置(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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值