宝塔 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 面板进行重启就好了