Вступление
Apache Tomcat - это контейнер веб-сервера и сервлета, который используется для обслуживания приложений Java. Tomcat - это реализация технологий Java Servlet и JavaServer Pages с открытым исходным кодом, выпущенная Apache Software Foundation. В этом руководстве рассматриваются базовая установка и некоторые настройки последней версии Tomcat 8 на вашем сервере CentOS 7.
Предпосылки
Прежде чем вы начнете читать это руководство, у вас должна быть отдельная учетная запись без полномочий root, настроенная на вашем сервере. Вы можете узнать, как это сделать, выполнив шаги 1-3 вinitial server setup для CentOS 7. Мы будем использовать пользователяdemo
, созданного здесь, до конца этого руководства.
Установить Java
Tomcat требует, чтобы Java была установлена на сервере, поэтому любой код веб-приложения Java может быть выполнен. Давайте удовлетворим это требование, установив OpenJDK 7 с yum.
Чтобы установить OpenJDK 7 JDK с помощью yum, выполните следующую команду:
sudo yum install java-1.7.0-openjdk-devel
Ответьтеy
на приглашение продолжить установку OpenJDK 7.
Обратите внимание, что ярлык для каталога JAVA_HOME, который нам понадобится для настройки Tomcat позже, можно найти в/usr/lib/jvm/jre
.
Теперь, когда Java установлена, давайте создадим пользователяtomcat
, который будет использоваться для запуска службы Tomcat.
Создать пользователя Tomcat
В целях безопасности Tomcat следует запускать как непривилегированный пользователь (т.е. не рут). Мы создадим нового пользователя и группу, которые будут запускать сервис Tomcat.
Сначала создайте новую группуtomcat
:
sudo groupadd tomcat
Затем создайте нового пользователяtomcat
. Мы сделаем этого пользователя членом группыtomcat
с домашним каталогом/opt/tomcat
(куда мы будем устанавливать Tomcat) и с оболочкой/bin/false
(чтобы никто не мог войти на счет):
sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
Теперь, когда наш пользовательtomcat
настроен, давайте загрузим и установим Tomcat.
Установить Tomcat
Самый простой способ установить Tomcat 8 на данный момент - это загрузить последний бинарный выпуск, а затем настроить его вручную.
Скачать Tomcat Binary
Найдите последнюю версию Tomcat 8 наTomcat 8 Downloads page. На момент написания последней версией является8.5.37. В разделеBinary Distributions, затем в спискеCore скопируйте ссылку на «tar.gz».
Давайте загрузим последний двоичный дистрибутив в наш домашний каталог с помощьюwget
.
Сначала установитеwget
с помощью диспетчера пакетовyum
:
sudo yum install wget
Затем перейдите в свой домашний каталог:
cd ~
Теперь используйтеwget
и вставьте ссылку для загрузки архива Tomcat 8, как это (ваша зеркальная ссылка, вероятно, будет отличаться от примера):
wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
Мы собираемся установить Tomcat в каталог/opt/tomcat
. Создайте каталог, затем извлеките в него архив с помощью следующих команд:
sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
Теперь мы готовы установить соответствующие разрешения пользователя.
Обновить разрешения
Пользовательtomcat
, которого мы настроили, должен иметь надлежащий доступ к установке Tomcat. Мы установим это сейчас.
Измените путь установки Tomcat:
cd /opt/tomcat
Предоставьте группеtomcat
право собственности на весь каталог установки:
sudo chgrp -R tomcat /opt/tomcat
Затем предоставьте группеtomcat
доступ для чтения к каталогуconf
и всему его содержимому и выполните доступ к самому каталогу:
sudo chmod -R g+r conf
sudo chmod g+x conf
Затем сделайте пользователяtomcat
владельцем каталоговwebapps
,work
,temp
иlogs
:
sudo chown -R tomcat webapps/ work/ temp/ logs/
Теперь, когда установлены соответствующие разрешения, давайте настроим файл модуля Systemd.
Установить системный файл модуля
Поскольку мы хотим иметь возможность запускать Tomcat как сервис, мы настроим файл модуля Tomcat Systemd.
Создайте и откройте файл модуля, выполнив эту команду:
sudo vi /etc/systemd/system/tomcat.service
Вставьте в следующий скрипт. Вы также можете изменить настройки выделения памяти, указанные вCATALINA_OPTS
:
/etc/systemd/system/tomcat.service
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Сохранить и выйти. Этот сценарий сообщает серверу запустить службу Tomcat от имени пользователяtomcat
с указанными настройками.
Теперь перезагрузите Systemd, чтобы загрузить файл модуля Tomcat:
sudo systemctl daemon-reload
Теперь вы можете запустить службу Tomcat с помощью этой командыsystemctl
:
sudo systemctl start tomcat
Убедитесь, что сервис успешно запущен, набрав:
sudo systemctl status tomcat
Если вы хотите включить службу Tomcat, чтобы она запускалась при загрузке сервера, выполните следующую команду:
sudo systemctl enable tomcat
Tomcat еще не полностью настроен, но вы можете получить доступ к странице-заставке по умолчанию, перейдя в свой домен или IP-адрес, за которым следует:8080
в веб-браузере:
Open in web browser:http://server_IP_address:8080
Вы увидите страницу-заставку Tomcat по умолчанию в дополнение к другой информации. Теперь мы углубимся в установку Tomcat.
Настройка интерфейса веб-управления Tomcat
Чтобы использовать веб-приложение менеджера, которое поставляется с Tomcat, мы должны добавить логин на наш сервер Tomcat. Сделаем это, отредактировав файлtomcat-users.xml
:
sudo vi /opt/tomcat/conf/tomcat-users.xml
Этот файл заполнен комментариями, которые описывают, как настроить файл. Вы можете удалить все комментарии между следующими двумя строками или оставить их, если хотите сослаться на примеры:
tomcat-users.xml excerpt
...
Вы захотите добавить пользователя, который может получить доступ кmanager-gui
иadmin-gui
(веб-приложения, поставляемые с Tomcat). Вы можете сделать это, определив пользователя, как в примере ниже. Обязательно измените имя пользователя и пароль на что-то безопасное:
tomcat-users.xml — Admin User
Сохраните и закройте файл tomcat-users.xml.
По умолчанию более новые версии Tomcat ограничивают доступ к приложениям Manager и Host Manager для подключений, исходящих с самого сервера. Поскольку мы устанавливаем на удаленном компьютере, вы, вероятно, захотите снять или изменить это ограничение. Чтобы изменить ограничения IP-адресов для них, откройте соответствующие файлыcontext.xml
.
Для приложения «Менеджер» введите:
sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml
Для приложения Host Manager введите:
sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
Внутри закомментируйте ограничение IP-адреса, чтобы разрешить подключения из любого места. В качестве альтернативы, если вы хотите разрешить доступ только к соединениям, исходящим с вашего собственного IP-адреса, вы можете добавить свой публичный IP-адрес в список:
context.xml files for Tomcat webapps
Сохраните и закройте файлы, когда вы закончите.
Чтобы изменения вступили в силу, перезапустите сервис Tomcat:
sudo systemctl restart tomcat
Доступ к веб-интерфейсу
Теперь, когда Tomcat запущен, давайте перейдем к интерфейсу веб-управления в веб-браузере. Вы можете сделать это, получив доступ к общедоступному IP-адресу сервера через порт 8080:
Open in web browser:http://server_IP_address:8080
Вы увидите что-то вроде следующего изображения:
Как видите, есть ссылки на веб-приложения для администраторов, для которых мы настроили пользователя-администратора.
Давайте посмотрим на приложение Manager, доступное по ссылке илиhttp://server_IP_address:8080/manager/html
:
Диспетчер веб-приложений используется для управления вашими Java-приложениями. Вы можете запустить, остановить, перезагрузить, развернуть и отменить развертывание здесь. Вы также можете запустить некоторую диагностику в своих приложениях (т.е. найти утечки памяти). Наконец, информация о вашем сервере доступна в самом низу этой страницы.
Теперь давайте посмотрим на Host Manager, доступный по ссылке илиhttp://server_IP_address:8080/host-manager/html/
:
На странице Диспетчер виртуальных хостов вы можете добавить виртуальные хосты для обслуживания ваших приложений.
Заключение
Ваша установка Tomcat завершена! Теперь вы можете свободно развертывать свои собственные веб-приложения на Java!