Skip to content

宝塔 linux 启动 tomcat jsvc 找不到.md

1:设置 JAVA_HOME

(一)找到 JAVA 安装目录

ls -l $(which java)
which java

如果显示的是 /usr/bin/java 请执行下面步骤

ls -lr /usr/bin/java

输出应为:/usr/bin/java -> /etc/alternatives/java

ls -lrt /etc/alternatives/java

输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.aarch64/jre/bin/java

上面的/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.aarch64就是 JAVA 的安装路径

(二)设置

1):编辑环境变量的配置文件

vi /etc/profile

2):在文件底部加入以下配置

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.aarch64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

3):刷新配置,使其生效

source /etc/profile

4):测试配置结果

echo $JAVA_HOME

CentOS7 中使用 jsvc 启动 tomcat(daemon 模式)

在生产中,tomcat 应该以 daemon 的模式运行,而且如果需要以普通用户的身份启动 tomcat,那么就不能使用 1024 以下的端口,这是 Liunx 系统的限制,只有 root 用户才能使用小于 1024 的端口。那么该如何将 tomcat 配置成服务呢?接下来,我们就来聊一聊 jsvc 这个东东。 jsvc 是什么,简单的讲,它就是一个 C 程序,是 tomcat 发行版中自带的一套代码,路径在 tomcat/bin/commons-daemon-native.tar.gz 中。有了 jsvc,我们就可以简单的定制 tomcat 的启动脚本使 tomcat 成为服务,指定 tomcat 运行时的用户和组,还可以定制一些 jvm 的参数等等,废话不多说,下面开始实战配置:

###(一)安装 jsvc: 进入 tomcat 下面的 bin 目录:

//http://commons.apache.org/proper/commons-daemon/download_daemon.cgi下载地址
tar xf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix/
./configure --with-java=$JAVA_HOME
...
*** All done ***
Now you can issue "make"
[root@tomcat unix]# make

如果出错

//错误信息:linux  jni_md.h: No such file or directory
find / -name jni_md.h 2> /dev/null
ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2.aarch64/include/linux/jni_md.h /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2.aarch64/include/jni_md.h

编译完成后,会在当前文件夹生成一个 jsvc 的文件,将它拷贝到 tomcat/bin/下,

bin 目录下有个 daemon.sh,这个是 tomcat 服务的启动脚本,宝塔 linux 已经存在于/etc/init.d/下,若不存在,创建文件

#!/bin/bash
# chkconfig: 2345 55 25
# description: tomcat Service

### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts tomcat
# Description:       starts the tomcat
### END INIT INFO
path=/www/server/tomcat/bin
cd $path
bash daemon.sh $1

添加服务:

chkconfig --add tomcat
chkconfig --list tomcat

启动服务:

service tomcat start
netstat -tnlp

can not locale JAVA HOME

编辑 tomcat 目录下的 daemon.sh 将 JAVA_HOME=部分的 jdk 换成上边环境变量的 jdk 路径

test ".$TOMCAT_USER" = . && TOMCAT_USER=www
# Set JAVA_HOME to working JDK or JRE
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.arm

至此,宝塔 linux 就可以正常运行 tomcat 了

ssh

REMOTE HOST IDENTIFICATION HAS CHANGED

ssh-keygen -R root@Ip // 重新ssh连接
  • 或者删除 .ssh/know_hosts 里 ip 相关的 key

redis 软件配置文件修改密码以后无法在宝塔 linux 面板操作

ssh root 用户连接服务器以后,执行

pkill -9 redis

然后在宝塔 linux 面板进行重启就好了