因此,我在 centos/rhel 上使用 Tomcat7 时遇到了问题。在此服务器上,我们有 2 个 tomcat 实例,为了将它们分开,我们将 HTTP 和 HTTPS 连接器绑定到 IP 地址。服务器重启时似乎发生的是连接器无法初始化,因为它们无法绑定到 IP 地址。我此时的工作理论是因为网络服务尚未完全启动,并且 IP 不可用。
网络初始化脚本的启动优先级为 10,tomcat 初始化脚本的启动优先级为 70
此外,我们在 tomcat 5 中使用了同样的配置,但我们没有使用 init 脚本,而是将 catalina.sh 文件链接到 /etc/rc3.d/S99tomcat 来启动 tomcat 实例。我们使用该配置时没有遇到此问题,但我们仍希望继续使用 init 脚本。
以下是 tomcat HTTPS 连接器的示例
<Connector port="443" address="128.1.2.150" maxHttpHeaderSize="65536"
maxThreads="150" minSpareThreads="25"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml"
enableLookups="false" disableUploadTimeout="true"
keystoreFile="/usr/local/tomcat/ssl/keystore2015"
keystorePass="tech1994"
SSLEnabled="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
这是包含 chkconfig 设置的 init 脚本的顶部
# Tomcat 7 start/stop/status init.d script
# Initially forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <[email protected]>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
# Added termination proccess
#chkconfig: 234 70 80
因此我测试了在脚本中添加以下内容
#Required-Start: $network
这不起作用。我停止了服务网络。然后启动了 tomcat,但它仍然出现。有人有其他想法吗?