#tomcat #tomcat9
Вопрос:
Я только что обновил свой tomcat 9.0.48
, но он всегда не запускается.
Я перепробовал все, удалил файл pid, отключил/включил службу, остановил tomcat,…. но не смог запустить. Он продолжает выдавать эту ошибку из моего усеченного journalctl -xe
вывода :
Файл PID найден, но либо соответствующий процесс не был найден, либо у текущего пользователя нет разрешения на остановку процесса. Остановка прервана
=>>
--
-- Unit tomcat.service has begun starting up.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Existing PID file found during start.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Removing/clearing stale PID file.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Tomcat started.
Jun 15 21:07:55 infra-vm shutdown.sh[63089]: PID file found but either no matching process was found or the current user does not have permission to stop the process. Stop aborted.
Jun 15 21:07:55 infra-vm systemd[1]: tomcat.service: control process exited, code=exited status=1
Jun 15 21:07:55 infra-vm systemd[1]: Failed to start Apache Tomcat Web Application Container.
-- Subject: Unit tomcat.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit tomcat.service has failed.
--
-- The result is failed.
Jun 15 21:07:55 infra-vm systemd[1]: Unit tomcat.service entered failed state.
Jun 15 21:07:55 infra-vm systemd[1]: tomcat.service failed.
Jun 15 21:07:55 infra-vm polkitd[841]: Unregistered Authentication Agent for unix-process:63063:8684558 (system bus name :1.714, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Jun 15 21:07:55 infra-vm sudo[63061]: pam_unix(sudo:session): session closed for user root
Это мое подразделение обслуживания :
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
#Environment=CATALINA_PID=/opt/tomcat/updated/temp/tomcat.pid
Environment=CATALINA_PID=/opt/tomcat/updated/temp/catalina.pid
Environment=CATALINA_HOME=/opt/tomcat/updated/
Environment=CATALINA_BASE=/opt/tomcat/updated/
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX: UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/updated/bin/startup.sh
ExecStop=/opt/tomcat/updated/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Почему служба делает shutdown
это после каждого запуска? Как вы можете видеть в приведенной выше ошибке, я запускаю команду «Запустить службу», но получаю ошибку завершения работы.
Если я закомментирую или удалю файл ExecStop
модуля systemd tomcat, запуск больше не вызывает ошибки, но остается неактивным (от sytemctl status tomcat
)
Я видел, что об ошибке сообщалось здесь много раз, но ни одно предложение не решило мою проблему.
Ответ №1:
Нашел проблему.
Это была JAVA_HOME
неправильная конфигурация в службе подразделения tomcat, потому что я также обновил версию java на сервере lic, но указал устаревший путь к jre
Нашел его, протестировав запуск tomcat srcipt вручную, поэтому я обновил сервисный модуль, изменив строку
Среда=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
Для
Среда=»JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64″
и сейчас все работает нормально.