как запускается Tomcat?

Вопрос или проблема

Я установил Tomcat из стандартных пакетов Ubuntu 20.04, но не могу понять, как его запустить. dpkg -L tomcat9 не показывает скрипт /etc/init.d. Есть только /usr/libexec/tomcat9/tomcat-start.sh и когда я вызываю его, я

получаю /usr/libexec/tomcat9/tomcat-start.sh: 25: exec: /bin/catalina.sh: не найден

Как я могу запустить tomcat9, установленный из Ubuntu?

Если я устанавливаю tomcat9 на Ubuntu 23.04 (“Lunar Lobster”), пакет предоставляет /lib/systemd/system/tomcat9.service:

root@ubuntu:~# dpkg -L tomcat9 | grep systemd
/lib/systemd
/lib/systemd/system
/lib/systemd/system/tomcat9.service

Запуск службы работает как ожидалось:

systemctl start tomcat9.service

Ubuntu приняла systemd еще в 2015 году, и устаревшие скрипты /etc/init.d с тех пор были признаны устаревшими.

Ответ или решение

Tomcat9 на Ubuntu 20.04 можно запустить несколькими способами, но важно учитывать, что система управления службами Ubuntu изменилась, и теперь вместо устаревших скриптов /etc/init.d используется systemd. Поэтому, описанная вами ситуация с отсутствием соответствующего скрипта — это нормальное явление для данной версии Ubuntu. Давайте рассмотрим, как правильно запустить Tomcat9 на Ubuntu, основываясь на предоставленной информации.

Установка Tomcat9 и его конфигурация

После установки Tomcat9 из стандартных пакетов Ubuntu 20.04, вы можете обнаружить, что исполняемые файлы и службы расположены в директории /usr/libexec/tomcat9/. Однако, для запуска Tomcat вам следует использовать системную службу systemd, если она доступна. Обратите внимание, что на первой версии Ubuntu 20.04 такая служба может не устанавливаться автоматически.

Запуск Tomcat9 с использованием systemd

  1. Проверка наличия службы Tomcat9:
    Убедитесь, что файл службы существует:

    ls /lib/systemd/system/tomcat9.service

    Если файл не найден, возможно, вам потребуется установить Tomcat9 через другую процедуру, либо вручную создать файл службы.

  2. Создание службы для Tomcat9:
    Если служба не существует, вы можете создать ее самостоятельно. В качестве примера, создайте файл /etc/systemd/system/tomcat9.service и добавьте следующий контент:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=simple
    User=your_username
    Group=your_group
    Environment=CATALINA_HOME=/usr/share/tomcat9
    Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    ExecStart=/usr/share/tomcat9/bin/startup.sh
    ExecStop=/usr/share/tomcat9/bin/shutdown.sh
    
    [Install]
    WantedBy=multi-user.target

    Обратите внимание на путь к Java (JAVA_HOME), он может варьироваться в зависимости от установленной версии.

  3. Перезагрузка systemd:
    После создания файла службы выполните команду:

    sudo systemctl daemon-reload
  4. Запуск Tomcat9:
    Теперь вы можете запустить Tomcat с помощью:

    sudo systemctl start tomcat9
  5. Проверка статуса:
    Чтобы проверить, работает ли Tomcat9, выполните:

    sudo systemctl status tomcat9

Запуск Tomcat9 на Ubuntu 23.04

На более поздней версии Ubuntu, такой как 23.04, пакет Tomcat уже включает предустановленный systemd-скрипт, что упрощает процессы установки и запуска. Поэтому, если у вас установлена этой версии, вам достаточно выполнить команду:

sudo systemctl start tomcat9.service

Заключение

При установке Tomcat9 на Ubuntu 20.04 наиболее корректным способом запуска будет использование systemd, что обеспечивает больше безопасности и лучшую интеграцию с системой. Если вы столкнетесь с проблемами, такими как ошибка "not found" при запуске catalina.sh, убедитесь, что вы указали верные пути к исполняемым файлами и переменным окружения. Ознакомление с документацией Tomcat и systemd поможет вам избежать многих распространенных ошибок.

Оцените материал
Добавить комментарий

Капча загружается...