Tomcat服务使用“本地服务”帐户安装

qni6mghb  于 2023-10-19  发布在  其他
关注(0)|答案(3)|浏览(137)

在Tomcat 8.0.53之后,当我安装Tomcat(9.0.30或8.5.50)并将其安装为服务(使用service.bat)时,它会被安装,但“Log on”作为“Local Service”而不是“Local System account”。
这可以在Windows中的服务下看到。

因此,当我运行服务时,应用程序无法读取文件。
如果我手动进入服务,打开我的服务的属性,然后将登录更改为“本地系统”并保存,一切都工作得很完美。
1.为什么这会发生在tomcat 8.0.53之后的版本上?
1.如何安装tomcat,使其将“Log on as”设置为“LocalSystem”而不是“LocalService”?我无法使用8.59.0文档中提到的--User--Password等其他参数来实现。

h6my8fg2

h6my8fg21#

这似乎是这些问题的结果:5596963310。更新到Commons Daemon 1.2.0似乎是原因,并且似乎无法在安装过程中修改此设置。
但是,可以在管理员命令提示符下使用以下命令将其设置为本地系统:

sc config Tomcat8 obj=LocalSystem
u91tlkcl

u91tlkcl2#

希望谷歌能把这个捡起来,这样下一个用户就能快3个小时找到这个.
对我来说,这个错误表现为一个Chrome控制台消息:

net::ERR_CONTENT_LENGTH_MISMATCH 200

.这个错误只是在我的html使用相对路径调用了一些css之后才出现的。
如上所示,通过将windows服务更改为可以与桌面交互的本地系统帐户,问题得到了解决。
有没有任何stackoverflow超级用户知道如何将该消息放入上述问题标题中?这就是当Tomcat“无法读取文件”时,Chrome显示的内容。

sd2nnvve

sd2nnvve3#

--ServiceUser参数(LocalSystem值)设置为bin\service.bat中的服务安装可执行文件。

"%EXECUTABLE%" //IS//%SERVICE_NAME% ^
--Description "Apache Tomcat 8.5.91 Server - https://tomcat.apache.org/" ^
--DisplayName "Apache Tomcat 8.5 %SERVICE_NAME%" ^
--Install "%EXECUTABLE%" ^
--LogPath "%CATALINA_BASE%\logs" ^
--StdOutput auto ^
--StdError auto ^
--Classpath "%CLASSPATH%" ^
--Jvm "%JVM%" ^
--StartMode jvm ^
--StopMode jvm ^
--StartPath "%CATALINA_HOME%" ^
--StopPath "%CATALINA_HOME%" ^
--StartClass org.apache.catalina.startup.Bootstrap ^
--StopClass org.apache.catalina.startup.Bootstrap ^
--StartParams start ^
--StopParams stop ^
--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%" ^
--JvmOptions9 "--add-opens=java.base/java.lang=ALL-UNNAMED#--add-opens=java.base/java.io=ALL-UNNAMED#--add-opens=java.base/java.util=ALL-UNNAMED#--add-opens=java.base/java.util.concurrent=ALL-UNNAMED#--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" ^
--Startup "%SERVICE_STARTUP_MODE%" ^
--JvmMs "%JvmMs%" ^
--JvmMx "%JvmMx%" ^
--ServiceUser "LocalSystem"

这将使服务以LocalSystem帐户权限安装。有关详细信息,请参阅Tomcat v8.5用户指南Windows Service How-To

相关问题