我需要将Tomcat 7安装为Windows服务并手动启动服务。
参考How to install Tomcat as a Windows service,我认为我需要在命令行中指定以下内容:
tomcat7 //IS//Tomcat7 --DisplayName="Apache Tomcat 7" --Install="C:\Tomcat7\bin\tomcat7.exe
我是否还需要在命令行中指定全部或部分以下内容,如示例中所示?如果只有一些,请说明哪些。如果示例中的任何内容不正确,请指定。
--Jvm=auto
--StartMode=jvm
--StopMode=jvm
--StartClass=org.apache.catalina.startup.Bootstrap
--StartParams=start
--StopClass=org.apache.catalina.startup.Bootstrap
--StopParams=stop
我需要确定的是指定以下内容,因为我需要告诉Tomcat使用特定的java home而不是安装它的服务器上的环境变量JAVA_HOME设置的java home。
--JavaHome="C:\Program Files\Java\jdk1.7.0_51
原因:服务器已经有不同版本的Tomcat(5.5),它使用旧版本的JDK(1.5)。我不能在服务器上更改JAVA_HOME。我只需要确保Tomcat 7使用JDK 1.7并尝试过这一行:
C:\tomcat7\bin>tomcat7 //IS//Tomcat7 --DisplayName="Apache Tomcat 7" --Install="C:\Tomcat7\bin\tomcat7.exe" --JavaHome="C:\Program Files\Java\jdk1.7.0_51"
当我尝试启动该服务时,会显示以下错误消息:
Windows could not start the Apache Tomcat 7 on Local Computer. For
more information, review the System Event Log. If this is a
non-Microsoft service, contact the service vendor, and refer to
service-specific error code 1.
我查看了系统事件查看器,它提供了以下信息:
The Apache Tomcat 7 service terminated with service-specific error Incorrect function..
我需要弄清楚这些步骤,因为我需要向支持团队提供在生产服务器上安装此服务的信息。所以任何帮助都将不胜感激!
答案 0 :(得分:1)
使用Powershell命令行中的Chocolatey:
首先安装Chocolatey
PS:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
安装Tomcat
PS:\> choco install tomcat
升级
PS:\> choco upgrade tomcat
答案 1 :(得分:0)
看起来像java JVM和tomcat版本不匹配。
实际上是tomcat7.exe包装器程序 “运行”JVM,它必须与它运行的JVM类型相匹配 32位/ 64位版本。如果您尝试使用32位启动64位JVM tomcat7.exe,它不起作用,反之亦然。
答案 2 :(得分:0)
这是因为物理RAM不足。
检查Tomcat文档的最低系统要求,并尽可能尝试关闭不必要的程序。
答案 3 :(得分:0)
从Powershell命令行使用Chocolatey:
PS> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
安装Tomcat:
PS> choco install tomcat
要升级:
PS> choco upgrade tomcat