Установка Tomcat 9 на Debian 10
Доброе время суток, уважаемый посетитель.
В этом руководстве мы рассмотрим установку сервера приложений Apache Tomcat на Debian 10. Я предполагаю, что вы обладаете первоначальными навыками по администрированию *nix систем и не буду подробно описывать каждую команду. Для начала обновим пакеты системы:
Затем установим последнюю версию JDK
Теперь следует создать непривилегированного пользователя tomcat в группе tomcat с отключенным шеллом и домашней директорией /opt/tomcat
Перейдем во временную директорию и скачаем архив с последней стабильной версией Tomcat 9 версии, которая на момент написания статьи составляла 9.44 Впрочем, вы всегда можете посмотреть актуальную версию по данной ссылке.
Создадим директорию для собственно Tomcat и его приложений и разархивируем скачанный архив.
Выставим нужные права и пользователя с группой:
Проверим установленную версию JDK
В выводе команды будет присутствовать версия и путь до Java
Запомним вывод, он нам пригодится в дальнейшем для systemd файла. Создадим systemd файл для запуска Tomcat как сервиса
со следующим содержимым:
В Environment=JAVA_HOME= данного файла вам нужно будет указать ту версию Java, что установлена в вашей системе.Добавим запуск Tomcat при старте системы
И попробуем запустить его
Если все сделано правильно, то в выводе команды
будут строки вида tomcat.service - Apache Tomcat Web Application Container Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2021-03-12 10:47:03 EET; 1 day 6h ago Process: 1820 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 1827 (java) Tasks: 40 (limit: 4915) Memory: 1.6G CGroup: /system.slice/tomcat.service └─1827 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat Mar 12 10:47:03 systemd[1]: Starting Apache Tomcat Web Application Container... Mar 12 10:47:03 startup.sh[1820]: Tomcat started. Mar 12 10:47:03 systemd[1]: Started Apache Tomcat Web Application Container. Следует отметить, что по умолчанию Tomcat слушает по 8080 порту на всех интерфейсах и вам следует проверить правила iptables, чтобы соединения по данному порту не блокировались. Также, иногда запуск на данном порту не всегда удобен, особенно если вы используете различные панели управления либо используете связку Apache+nginx, где зачастую Apache использует именно 8080 порт. Для примера, мы перекинем Tomcat на порт 8081, и будем обращаться к нему через nginx с SSL подключением. Для начала, добавим пользователя admin с паролем, отредактировав
Приведем его к виду
где passw0rd - пароль пользователя admin. Рекомендую задавать его со всеми требованиями к парольной безопасности. Далее, перенесем запуск Tomcat на 8081 и на loopback интерфейс, отредактировав
Найдем блок
и приведем его к виду
Теперь отредактируем файл
и
приведя к виду
Перезапустим Tomcat для применения изменений
После чего Tomcat запустится на 127.0.0.1 и порту 8081. Но, обращаться к нему можно будет только локально. Исправим это досадное недоразумение. Будем считать, что nginx у вас уже установлен, у вас имеется служебный домен (к примеру, dev.mydomain.com) с полученным сертификатом Let's encrypt. Добавим в конфиг nginx данного поддомена location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8081/; } и перезапустим nginx
Теперь, при заходе на https://dev.mydomain.com вас встретит стартовая страница Tomcat. Рейтинг статьи:
Нашли ошибку?
|
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.