linux - Tomcat 重启时启动 : init. d 脚本不成功

标签 linux tomcat microstrategy

我需要在 linux 操作系统重启后启动 tomcat。我无法通过重启让 init.d 正常运行。

操作系统和版本:

JRE: 1.8.0
JAVA: 1.8.0
Tomcat:  8.5.34
Linux:  Amazon Linux 2

****以 ROOT 身​​份完成所有步骤

TOMCAT 部署配置:

1)  Install tomcat 8.5.34 using a tar.gz gzip file
2)  configure /{$TOMCAT}/conf/server.xml to use 443 connectors
3)  Deploy MicroStrategy application through deploying a .war file on restart
4)  configure SSL keys using Java Key Store
5)  configure microstrategy webapp for SAML authentication using PING

init.d脚本部署配置

注意:我已经通过/etc/init.d/tomcat 和 chkconfig 实用程序尝试了各种脚本。
1)使用vi创建tomcat 2)插入脚本(我试过很多脚本,但是这个似乎 最接近我所需要的,也是最明确的) 3) chmod 755/etc/init.d/tomcat 4) chkconfig -- 添加 tomcat 5) chkconfig --level 2345 tomcat on (此命令不成功) 6) chkconfig --list tomcat (返回tomcat 0:off 1:off 2:off 3:on 4:on 5:on 6:off)

此脚本测试成功:

./etc/init.d/tomcat start
./etc/init.d/tomcat stop
./etc/init.d/tomcat restart 

确认 chkconfig 创建了链接:

/etc/rc1.d  K20tomcat
/etc/rc2.d  K20tomcat
/etc/rc3.d  S82tomcat
/etc/rc4.d  S82tomcat
/etc/rc5.d  S82tomcat
/etc/rc6.d  K20tomcat

Tomcat 的脚本文件

#!/bin/sh
#
# chkconfig: 345 82 20
#
# description:  Tomcat Service


JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
JRE_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
CATALINA_HOME=/opt/apache-tomcat-8.5.34
export JAVA_HOME JRE_HOME CATALINA_HOME
case $1 in
start)
cd $CATALINA_HOME/bin
./startup.sh
;;
stop)
cd $CATALINA_HOME/bin
./shutdown.sh
;;
restart)
cd $CATALINA_HOME/bin
./shutdown.sh    
./startup.sh
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

期望

我希望在重启后可以从指向此设备的公共(public) URL 访问位于 {$TOMCAT}/webapps/ROOT 的基本 URL。重启后 tomcat 服务保持停止状态。

有什么建议吗?

最佳答案

Amazon Linux 2使用 systemd 服务管理器,它应该向后兼容 systemv 初始化脚本 提供 systemd-sysv-generator 被执行从 /etc/init.d 脚本中生成服务单元(我认为在你的情况下不推荐)。 由于您是自己编写脚本,因此建议您编写适当的 service unit .
这样的 *.service 文件很可能已经存在于用于安装 tomcat 的 tar.gz 中。

关于linux - Tomcat 重启时启动 : init. d 脚本不成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56778930/

相关文章:

微策略中用于自定义的 Javascript

javascript - 如何使用 Node.js 将分层树 JSON 转换为平面数组?

python - 当 URL 错误时 PhantomJS 不返回错误(python)

linux - Golang,在Linux中加载Windows DLL

java - tomcat内部有main方法吗?如果是,它如何解决与 Spring Boot 应用程序 *main* 的冲突?

java - 我更改了 Web 服务声明,然后 wsimport 说我有一条重复消息

python - 使用终端在 Linux 中的 ubuntu 中安装 twilio

java - Java中更改当前目录在linux中实现 "cd"命令

java - 服务器 Tomcat v7.0 服务器在 localhost 无法在 90 秒内启动