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/
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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354