本帖最后由 牵网线的 于 2022-4-8 09:43 编辑
ssh远程执行tomcat启动失败解决方法
现象: 本地执行tomcat启动成功,但是使用ssh远程执行启动tomcat报错 - [root[url=home.php?mod=space&uid=38705]@xxx[/url] ~]# ssh root@1.1.1.1 /home/apache-tomcat-8.5.13/bin/startup.sh
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- At least one of these environment variable is needed to run this program
复制代码 debug:报错显示java环境变量有问题
解决方法: 1、查看java变量环境配置 - #注意,可能我们并不知道JAVA_HOME和JRE_HOME环境变量的值,可以通过如下命令查看
- echo $JAVA_HOME
- echo $JRE_HOME
复制代码一般情况下java环境变量都会配置在/etc/profile中,可以cat查看一下JAVA_HOME和JRE_HOME的配置信息,也可以直接使用环境变量中配置的java路径
2、编辑tomcat环境变量文件 - #如果不清楚setclasspath.sh文件位置,可以使用find命令或者locate命令搜索
- find / -name setclasspath.sh
- #然后使用vi或vim命令打开setclasspath.sh文件进行修改
- vi setclasspath.sh
- #然后把结果添加倒setclasspath.sh文件的开头部分,注意这里的/jdk和/jdk/jre是我主机上通过echo JAVA_HOME等命令查询出来的结果,具体值还得看自己服务器上的安装路径
- export JAVA_HOME=/jdk
- export JRE_HOME=/jdk/jre
复制代码
3、远程执行命令测试是否能正常启用tomcat - ssh root@1.1.1.1 /home/apache-tomcat-8.5.13/bin/startup.sh
复制代码注意:我在这个地方遇到一个问题,就是我原来的ssh命令是带了-t参数的,带-t参数可以看到命令执行的情况,不带t就看不到执行情况了,但是命令能执行成功。
查看java环境变量的多种方法: - whereis java
- which java(java执行路径)
- echo $JAVA_HOME
- echo $JRE_HOME
- echo $PATH
复制代码
|