Служба Tomcat устанавливается с учетной записью локальной службы

Сообщение Tomcat 8.0.53, когда я устанавливаю Tomcat (9.0.30 или 8.5.50) и устанавливаю его как службу (используя service.bat), он устанавливается, но с «Входом в систему» ​​как «Локальная служба» вместо «Локальная система». Счет".

Это можно увидеть в службах в окнах.

Служба Apache Свойства службы Apache, вкладка

Из-за этого, когда я запускаю службу, приложение не может прочитать файл.

Если я вручную зайду в службы, открою свойства для своей службы, затем изменю Войти как «Локальная система» и сохраним, все работает отлично.

  1. Почему это происходит для версий tomcat после 8.0.53?
  2. Как можно установить tomcat так, чтобы для параметра «Вход в систему» ​​было установлено значение «LocalSystem» вместо «LocalService»? Я не могу сделать это с дополнительными параметрами, такими как --User и --Password, как указано в 8.5 и 9.0 документация.

person pullCommitRun    schedule 27.01.2020    source источник


Ответы (2)


Похоже, это результат следующих проблем: 55969 и 63310. Причиной, по-видимому, является обновление Commons Daemon 1.2.0, и не похоже, что этот параметр можно изменить во время установки.

Однако впоследствии его можно установить на «Локальная система» из командной строки администратора с помощью следующей команды:

sc config Tomcat8 obj=LocalSystem
person Brown    schedule 30.01.2020
comment
Данный обходной путь работает нормально! Я просто не успел ответить на свой вопрос. Кроме того, поскольку был только один файл, который был проблемой при его чтении, я изменил разрешение файла с помощью команды icacls/cacls windows, и тогда приложение работало нормально, даже когда tomcat работал как служба окна с учетной записью LocalService. - person pullCommitRun; 04.02.2020
comment
Рад, что это сработало и для вас! Спасибо, что отметили это как ответ. Я обнаружил немного больше информации, поэтому я обновлю свой ответ. - person Brown; 05.02.2020

Надеюсь, Google подхватит это, чтобы следующий пользователь мог найти это на 3 часа быстрее...

Для меня эта ошибка проявилась в сообщении консоли Chrome:

net::ERR_CONTENT_LENGTH_MISMATCH 200

... и эта ошибка возникла только после того, как мой html вызвал некоторые css, используя относительный путь.

Как показано выше, проблема была решена путем изменения службы Windows на локальную системную учетную запись, которая может взаимодействовать с рабочим столом.

Кто-нибудь из суперпользователей stackoverflow знает, как поместить это сообщение в заголовок вопроса выше? Вот что показывает Chrome, когда Tomcat не может прочитать файл.

person Paul Cuddihy    schedule 08.01.2021