Установка и настройка Tomcat 9 на Ubuntu 16.04.
Tomcat — контейнер сервлетов и веб-сервер с открытым исходным кодом. Tomcat реализует спецификацию Java Servlet, JavaServer Pages(JSP), Java Expression Language и Java WebSocket технологий. В качестве основы контейнера сервлетов Tomcat используют такие известные серверы приложений, как JBoss и GlassFish.
Сервер Tomcat требует небольшого количества ресурсов для своей работы, поэтому его можно смело назвать легковесным сервером приложений. Гибкая конфигурация и большое количество поддерживаемых технологий позволяют использовать Tomcat для запуска как простых, так и сложных веб-приложений.
Начиная с версии 8.5 Tomcat поддерживает HTTP/2.
В этом руководстве мы рассмотрим, как установить и настроить Tomcat 9 на Ubuntu 16.04.
Требования
- Сервер Ubuntu 16.04 x64 (мы использовали следующую конфигурацию: Ubuntu 16.04 64 bit RAM 512Mb и SSD 20 Гб);
- Пользователь с root-правами.
Установка
Мы будем устанавливать Tomcat версии 9. Для работы с этой версией нам потребуется Java (не ниже 8-й версии).
Обновляем программные пакеты:
$ apt-get update
Устанавливаем JDK:
$ apt-get install default-jdk
Проверяем версию Java:
$ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8-u111-b14-2ubuntu-0.16.04.2-b14)
Теперь можно приступать к установке собственно веб-сервера Tomcat.
Переходим в папку opt:
$ cd /opt
Затем идём на официальный сайт Tomcat в раздел download версии 9 и копируем адрес ссылки на архив tar.gz:
C помощью команды wget скачиваем файл скопированной ссылки:
$ wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomcat-9.0.0.M13.tar.gz
Распаковываем его в текущую папку:
$ tar -zxf apache-tomcat-9.0.0.M13.tar.gz
Для удобства изменим имя распакованной папки на tomcat с помощью следующей команды:
$ mv apache-tomcat-9.0.0.M13 tomcat
Tomcat скачан и находится в одноименной папке. Теперь нам нужно добавить Tomcat в службы, чтобы его можно было легко запускать и останавливать.
Создаем новый файл tomcat.service
$ nano /etc/systemd/system/tomcat.service
Добавляем в него следующие строки:
[Unit]
Description=Tomcat9
After=network.target
[Service]
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat9.pid
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512m -Xmx512m"
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8 -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Сохраняем файл и перезапускаем менеджер служб:
$ systemctl daemon-reload
Запускаем Tomcat через сервис и проверяем его статус:
$ service tomcat start
$ service tomcat status
Loaded: loaded (/etc/systemd/system/tomcat.service: disabled; vendor preset: enabled)
Active: active (running) since Mon 2016-11-28 20:48:18 MSK; 6s ago
По умолчанию Tomcat запускается на 8080 порту. При желании его можно изменить.
Настройка
Рассмотрим основные директории в корневой папке Tomcat /opt/tomcat:
- bin — файлы и скрипты для запуска, остановки tomcat;
- conf — конфигурационные файлы, главный их которых server.xml;
- lib — используемые библиотеки;
- logs — директория для хранения всех логов сервера и работы запущенных приложений;
- webapps — папка для веб-приложений. По умолчанию Tomcat устанавливает свои приложения с примерами и веб-консоль для настройки.
Для изменения порта, на котором запускается Tomcat, необходимо открыть на редактирование файл server.xml в папке conf:
$ nano /opt/tomcat/conf/server.xml
Находим запись:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Меняем порт 8080 на желаемый, а затем перезапускаем Tomcat:
$ service tomcat restart
Если Tomcat не доступен на запускаемом порту извне, то необходимо проверить настройки фаервола и открыть порт.
В файле server.xml можно также настроить поддержку SSL/TLS. Для этого нужно раскоментировать следующие строки:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" >
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
certificateFile="conf/localhost-rsa-cert.pem"
certificateChainFile="conf/localhost-rsa-chain.pem"
type="RSA" />
</SSLHostConfig>
</Connector>
Более подробно о всех поддерживаемых форматах и параметрах можно прочитать на официальной странице Tomcat.
Если нужно настроить права доступа для работы с сервером Tomcat, то это можно сделать в файле tomcat-users.xml, который находится в папке conf. После внесения изменений следует перезагрузить сервер.
Для того что бы Tomcat запускался вместе с системой необходимо выполнить
$ systemctl enable tomcat