我在 Amazon Linux AMI 上安装了 tomcat8,我修改了 tomcat8 初始化脚本头,这样 chkconfig 就可以安装 tomcat8 并在启动时自动运行。修改后的头如下:
#!/bin/bash
#
# tomcat This shell script takes care of starting and stopping Tomcat
#
# chkconfig: 345 80 20
# description: Release implementation for Servlet 3.0 and JSP 2.2
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Description: Release implementation for Servlet 3.0 and JSP 2.2
# Short-Description: start and stop tomcat
### END INIT INFO
#
# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
# - heavily rewritten by Deepak Bhole and Jason Corley
#
正如您所见,我将其设置为在运行级别 3、4 和 5 上运行。
然后我跑了:
sudo chkconfig --add tomcat8
运行该选项后,令我失望的是--list
,tomcat8off
适用于所有运行级别:
$ sudo chkconfig --add tomcat8
$ chkconfig --list tomcat8
tomcat8 0:off 1:off 2:off 3:off 4:off 5:off 6:off
发生了什么?我遗漏了什么?为什么 chkconfig 没有on
在级别 3、4 和 5 上启用 tomcat8?
答案1
开关--add
只增加了新服务供管理chkconfig
。如果该服务已经存在并且在每个 /etc/rc[0-6].d
目录中都有一个符号链接,则不会执行任何操作......
到调整tomcat8 应该在其中启动的运行级别您不需要编辑 init 脚本,只需运行:
chkconfig --level 345 tomcat8 on
或者在修改了 init 文件后使用以下reset
开关:
chkconfig --level 0123456 reset
或者先删除现有的符号链接/etc/rc[0-6].d
,然后再次添加它们:
chkconfig --del tomcat8
chkconfig --add tomcat8