В этой статье мы покажем вам, как установить Tomcat на Ubuntu 18.04 VPS. Tomcat – это веб-сервер с открытым исходным кодом и контейнер сервлетов, разработанный Apache Software Foundation (ASF), который выполняет сервлеты Java и отображает веб-страницы, содержащие кодирование страниц сервера Java.
Чтобы запустить Tomcat на вашем VPS, должны быть выполнены следующие требования:
- Java 8 или выше
- SSH корневой доступ к вашему серверу
- VPS с не менее 1 ГБ ОЗУ
Обновление пакетов ОС
Прежде чем мы сможем начать установку Tomcat, мы должны убедиться, что все пакеты ОС Ubuntu, установленные на сервере, обновлены. Мы можем сделать это, выполнив следующие команды:
sudo apt-get update sudo apt-get upgrade
Установка JAVA
Чтобы установить и запустить Tomcat на сервере, нам нужно установить Java. Мы можем проверить, установлена ли Java уже с помощью этой команды:
which java
Если выходных данных нет, это означает, что Java еще не установлена на сервере. Мы можем установить Oracle JDK или OpenJDK. Нам нужно установить Java версии 8 или выше в вашей системе, чтобы запустить Tomcat 9. Мы можем установить его с помощью следующей команды:
sudo apt-get install default-jdk
Чтобы проверить версию Java, выполните следующую команду на вашем сервере:
java -version
Мы должны получить следующий вывод:
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
Установка Tomcat
Загрузите последнюю стабильную версию Tomcat с официального сайта Apache Tomcat по адресу http://tomcat.apache.org/download-90.cgi и распакуйте ее в каталог на своем сервере:
cd /opt wget -O tomcat9.tar.gz http://mirror.olnevhost.net/pub/apache/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz tar -xvzf tomcat9.tar.gz mv apache-tomcat-9.0.14 tomcat9
Не рекомендуется запускать Tomcat от имени пользователя root, поэтому по соображениям безопасности мы создадим нового системного пользователя:
useradd -r tomcat9 -d /opt/tomcat9 --shell /bin/false
После создания системного пользователя tomcat9 измените владельца каталога /opt/tomcat9 на пользователя tomcat:
chown -R tomcat9:tomcat9 /opt/tomcat9/
Создайте новый системный файл для Tomcat:
vi /etc/systemd/system/tomcat9.service
Добавьте следующий контент:
[Unit] Description=Apache Tomcat After=network.target [Service] Type=forking User=tomcat9 Group=tomcat9 Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat9/tomcat9.pid Environment=CATALINA_HOME=/opt/tomcat9 Environment=CATALINA_BASE=/opt/tomcat9 Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat9/bin/startup.sh ExecStop=/opt/tomcat9/bin/shutdown.sh ExecReload=/bin/kill $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target
Сохраните файл tomcat9.service. Выполните следующую команду, чтобы перезагрузить конфигурацию systemd manager:
systemctl daemon-reload
Теперь мы можем запустить сервис Apache Tomcat 9:
systemctl start tomcat9
Чтобы включить службу Tomcat при загрузке сервера, выполните:
systemctl enable tomcat9
Мы можем проверить состояние службы Tomcat 9 и убедиться, что она правильно установлена, выполнив следующую команду:
systemctl status tomcat9
Вывод этой команды должен быть похож на этот:
● tomcat9.service - Apache Tomcat Loaded: loaded (/etc/systemd/system/tomcat9.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2018-12-27 04:34:47 CST; 3s ago Process: 5473 ExecStart=/opt/tomcat9/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 5481 (code=exited, status=0/SUCCESS) Tasks: 45 (limit: 2320) CGroup: /system.slice/tomcat9.service └─5482 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.jul Dec 27 04:34:47 for-blog-post.andreyex.ru systemd[1]: Starting Apache Tomcat... Dec 27 04:34:47 for-blog-post.andreyex.ru startup.sh[5473]: Tomcat started. Dec 27 04:34:47 for-blog-post.andreyex.ru systemd[1]: Started Apache Tomcat.
Apache Tomcat прослушивает порт 8080, поэтому откройте веб-браузер и перейдите по адресу http: // IP_address: 8080, и вы должны увидеть домашнюю страницу Apache Tomcat.
Создание обратного прокси в Apache
Мы также можем настроить веб-сервер Apache2 в качестве обратного прокси-сервера для веб-сервера Tomcat 9, поэтому Apache будет принимать все запросы через порт 80 перед Tomcat 9, который работает на порту 8080.
Нам нужно включить два модуля Apache: proxy и proxy_http. Мы можем использовать команду a2enmod, чтобы включить их:
sudo a2enmod proxy sudo a2enmod proxy_http
Затем мы должны перезапустить Apache, чтобы изменения вступили в силу:
systemctl restart apache2
Создайте/измените конфигурацию виртуального хоста для вашего домена и добавьте/измените директивы прокси (ProxyRequests, ProxyPass и ProxyPassReverse), как показано в нашем примере:
vi /etc/apache2/sites-available/your-domain.ru.conf
<VirtualHost *:80> ServerName your-domain.ru ServerAlias www.your-domain.ru ProxyRequests off ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
Включите файл конфигурации Apache ‘your-domain.ru.conf’, если он не был включен ранее, и перезапустите Apache, чтобы изменения вступили в силу:
sudo a2ensite your-domain.ru.conf systemctl restart apache2
Теперь мы можем получить доступ к веб-приложению Tomcat, не используя порт 8080 в веб-браузере, т.е. мы можем получить к нему доступ с помощью: http://your-domain.ru
Вот и все. Мы успешно установили Tomcat на Ubuntu 18.04.