Невозможно запустить Apache Tomcat 8.5.4 в Ubuntu 16.04

Я установил следующий дистрибутив Tomcat: http://mirror.its.dal.ca/apache/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gz

Я следовал этой инструкции шаг за шагом: https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04

И я запустил службу с помощью команды sudo systemctl start tomcatЯ получил следующую ошибку:

Job for tomcat.service failed because the control process exited with error code. See "systemctl status tomcat.service" and "journalctl -xe" for details.

Спасибо за вашу помощь заранее!

5 ответов

Сделайте пользователя 'tomcat' владельцем всего каталога tomcat, используя следующую команду:

cd /opt && sudo chown -R tomcat tomcat/

Это сработало для меня.

В моем случае я забыл изменить значение для JAVA_HOME в /etc/systemd/system/tomcat.service соответствовать моим серверам JAVA_HOME, Поменял и все нормально работает.

По крайней мере, в Ubuntu и других ОС (например, CentOS), я понял, что эта проблема связана с разрешениями на выполнение сценариев в bin папка. В этом случае кроме смены владельца на пользователя tomcatнеобходимо предоставить разрешения на выполнение сценариев в ${TOMCAT}/bin папка, в частности к startup.sh а также shutdown.sh скрипты. Предполагая, что пакет Tomcat был извлечен в /opt/tomcat, затем:

sudo chmod 755 /opt/tomcat/bin/*.sh 

После этого

sudo systemctl start tomcat

Похоже, это проблема с правами доступа. Вы должны выполнить следующую команду

sudo chmod -R +x tomcat/

Я следовал структуре каталогов в учебнике (в digitalocean), который вы читаете. Вы можете заменить tomcat/ dir своим собственным установочным каталогом

При выполнении systemctl запустить Tomcat

Ты получишь [Your Issue]

Job for tomcat.service failed because the control process exited with error code. See "systemctl status tomcat.service" and "journalctl -xe" for details.

Следуя приведенной выше инструкции по выполнению journalctl -xe вы получите следующий результат:

Tomcat appears to still be running with PID *PROCESS_ID*. Start aborted.
If the following process is not a Tomcat process, remove the PID file and try again:
UID        PID  PPID  C STIME TTY          TIME CMD
root       982     1  0 09:51 ?        00:00:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

Убейте процесс, используя (982 - это идентификатор процесса, показанный в результате journalctl)

sudo kill -9 *PROCESS_ID*

Затем выполните

systemctl start tomcat начать tomact.

Apache tomcat запущен и работает.

Но это может отключить соискателя 802.x, который отключает WiFi.

Чтобы решить эту проблему, выполните

sudo service network-manager restart

Надеюсь это поможет!

Другие вопросы по тегам