В этой статье мы покажем вам, как установить Tomcat на Ubuntu 18.04 VPS. Tomcat — это веб-сервер с открытым исходным кодом и контейнер сервлетов, разработанный Apache Software Foundation (ASF), который выполняет сервлеты Java и отображает веб-страницы, содержащие кодирование страниц сервера Java.
Чтобы запустить Tomcat на вашем VPS, должны быть выполнены следующие требования:
Прежде чем мы сможем начать установку Tomcat, мы должны убедиться, что все пакеты ОС Ubuntu, установленные на сервере, обновлены. Мы можем сделать это, выполнив следующие команды:
sudo apt-get update sudo apt-get upgrade
Чтобы установить и запустить 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 с официального сайта 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.
Мы также можем настроить веб-сервер 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.
Большое спасибо очень полезная статья, только по поводу редактора vi думаю лучше пользоваться Vim
Да, Vim лучше
Благодарю за хорошую статью, много подчеркнул для себя.
Прошу помочь с настройкой обратного прокси. Я сделал все как в руководстве, но не могу получить доступ к web-приложению Tomcat в web-браузере c помощью http://your-domain.ru
Не запустился сервер, потому что нет доступа к /opt/tomcat9.
Надо правильно написать: chown -R tomcat9:tomcat9 /opt/tomcat9/
Благодарим за подсказку