Я выполнил шаги https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04 для установки tomcat 8.5.24 на Ubuntu 16.04, до запуска sudo ufw allow 8080 в разделе «Шаг 6: настройка брандмауэра и проверка сервера Tomcat».
Тогда я не могу запустить tomcat,
$ 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.
и ссылку http://localhost:8080/ не работает в браузерах Firefox и Google Chrome.
Мне было интересно, как решить проблему.
Ниже приведены данные, которые я выполнил над выходными сообщениями sudo systemctl start tomcat. Кажется, что /opt/tomcat/bin/startup.sh преуспел, а /opt/tomcat/bin/shutdown.sh потерпел неудачу.
$ systemctl status tomcat.service
● tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2017-12-01 18:55:30 EST; 2s ago
Process: 19490 ExecStop=/opt/tomcat/bin/shutdown.sh (code=exited, status=1/FAILURE)
Process: 19478 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 19440 (code=exited, status=127)
Dec 01 18:55:30 ocean systemd[1]: tomcat.service: Control process exited, code=exited status=1
Dec 01 18:55:30 ocean systemd[1]: Failed to start Apache Tomcat Web Application Container.
Dec 01 18:55:30 ocean systemd[1]: tomcat.service: Unit entered failed state.
Dec 01 18:55:30 ocean systemd[1]: tomcat.service: Failed with result 'exit-code'.
$ journalctl -xe
-- Unit tomcat.service has begun starting up.
Dec 01 18:51:24 ocean startup.sh[18873]: Existing PID file found during start.
Dec 01 18:51:24 ocean startup.sh[18873]: Removing/clearing stale PID file.
Dec 01 18:51:24 ocean startup.sh[18873]: Tomcat started.
Dec 01 18:51:24 ocean shutdown.sh[18885]: PID file found but no matching process was found. Stop aborted.
Dec 01 18:51:24 ocean systemd[1]: tomcat.service: Control process exited, code=exited status=1
Dec 01 18:51:24 ocean 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.
Dec 01 18:51:24 ocean systemd[1]: tomcat.service: Unit entered failed state.
Dec 01 18:51:24 ocean systemd[1]: tomcat.service: Failed with result 'exit-code'.
Dec 01 18:51:34 ocean systemd[1]: tomcat.service: Service hold-off time over, scheduling restart.
Dec 01 18:51:34 ocean systemd[1]: Stopped Apache Tomcat Web Application Container.
-- Subject: Unit tomcat.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit tomcat.service has finished shutting down.
Dec 01 18:51:34 ocean systemd[1]: Starting Apache Tomcat Web Application Container...
-- Subject: Unit tomcat.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit tomcat.service has begun starting up.
Dec 01 18:51:35 ocean startup.sh[18896]: Existing PID file found during start.
Dec 01 18:51:35 ocean startup.sh[18896]: Removing/clearing stale PID file.
Dec 01 18:51:35 ocean startup.sh[18896]: Tomcat started.
Dec 01 18:51:35 ocean shutdown.sh[18908]: PID file found but no matching process was found. Stop aborted.
Dec 01 18:51:35 ocean systemd[1]: tomcat.service: Control process exited, code=exited status=1
Dec 01 18:51:35 ocean 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.
Dec 01 18:51:35 ocean systemd[1]: tomcat.service: Unit entered failed state.
Dec 01 18:51:35 ocean systemd[1]: tomcat.service: Failed with result 'exit-code'.
Мои версии Java:
$ java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
$ javac --version
javac 9.0.1
update:
Вместо sudo systemctl start tomcat который дает ошибку выше, если я запустил
cd /opt/tomcat/bin
sudo ./catalina.sh run
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on- ubuntu-16-04 показывает правильную веб-страницу. Итак, в чем причина, почему никто не работает, а другой делает?
Это случилось со мной. Что помогло удалить этот файл: /opt/tomcat/temp/tomcat.pid
Это временный файл, созданный tomcat при запуске. По-видимому, если он существует по какой-то причине, служба не запустится. -
Это случилось со мной. Что помогло удалить этот файл: /opt/tomcat/temp/tomcat.pid
Это временный файл, созданный tomcat при запуске. По-видимому, если он существует по какой-то причине, служба не запустится. -