Установка Tomcat · 5 min read · Dec 18, 2025

Как установить Apache Tomcat с обратным прокси Nginx на Ubuntu 22.04

Apache Tomcat — это сервер приложений с открытым исходным кодом на Java и контейнер сервлетов, используемый для хостинга веб-приложений, написанных на Java. Это первый выбор веб-разработчиков для создания и поддержки динамических веб-сайтов и приложений на основе платформы программного обеспечения Java. Это проект с открытым исходным кодом, разработанный Фондом Apache Software. Tomcat позволяет веб-серверу обрабатывать динамический веб-контент на основе Java.

Этот учебник покажет вам, как установить Apache Tomcat на Ubuntu 22.04.

Предварительные требования

  • Сервер с установленной Ubuntu 22.04.
  • Действительное доменное имя, указывающее на IP-адрес вашего сервера.
  • Пароль root, настроенный на сервере.

Установка Java JDK

Apache Tomcat является приложением на Java, поэтому Java должна быть установлена на вашем сервере. Если Java не установлена, вы можете установить ее с помощью следующей команды:

apt install default-jdk -y

После установки Java вы можете проверить версию Java с помощью следующей команды:

java -version

Вы получите следующий вывод:

openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Установка Apache Tomcat на Ubuntu 22.04

Сначала разумно запустить Tomcat как отдельного пользователя. Вы можете создать пользователя Tomcat с помощью следующей команды:

useradd -m -d /opt/tomcat -U -s /bin/false tomcat

Затем загрузите последнюю версию Apache Tomcat с помощью следующей команды:

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz

После загрузки Apache Tomcat извлеките загруженный файл в директорию /opt:

tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Затем установите правильные права собственности и разрешения для директории Tomcat:

chown -R tomcat:tomcat /opt/tomcat/   
chmod -R u+x /opt/tomcat/bin

После завершения вы можете перейти к следующему шагу.

Создание административного пользователя Tomcat

По умолчанию к Tomcat можно получить доступ без какой-либо аутентификации. Поэтому рекомендуется включить аутентификацию и создать административного пользователя для Tomcat. Вы можете добавить его, отредактировав файл конфигурации пользователей Tomcat:

nano /opt/tomcat/conf/tomcat-users.xml

Добавьте следующие строки выше строки :


Сохраните и закройте файл, когда закончите.

Включение удаленного доступа к Tomcat

По умолчанию Tomcat настроен на доступ только с локального хоста. Поэтому рекомендуется включить удаленный доступ к Tomcat для управления Tomcat с удаленного хоста.

Чтобы включить приложение менеджера с удаленного хоста, отредактируйте следующий файл:

nano /opt/tomcat/webapps/manager/META-INF/context.xml

Удалите следующую строку:

  

Чтобы включить приложение менеджера хоста с удаленного хоста, отредактируйте следующий файл:

nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

Удалите следующую строку:

  

Сохраните и закройте файл, когда закончите.

Создание файла службы для Apache Tomcat

Затем вам нужно будет создать файл службы для управления службой Tomcat через systemd. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/tomcat.service

Добавьте следующие строки:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, затем перезагрузите демон systemd, чтобы применить изменения:

systemctl daemon-reload

Затем запустите службу Tomcat и включите ее для автоматического запуска при перезагрузке системы с помощью следующей команды:

systemctl start tomcat  
systemctl enable tomcat

Вы можете проверить статус Apache Tomcat с помощью следующей команды:

systemctl status tomcat

Вы получите следующий вывод:

? tomcat.service - Tomcat
     Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 08:11:54 UTC; 6s ago
    Process: 18959 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 18966 (java)
      Tasks: 29 (limit: 4630)
     Memory: 116.4M
        CPU: 5.312s
     CGroup: /system.slice/tomcat.service
             ??18966 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Dja>

Apr 29 08:11:54 ubuntu systemd[1]: Starting Tomcat...
Apr 29 08:11:54 ubuntu startup.sh[18959]: Tomcat started.
Apr 29 08:11:54 ubuntu systemd[1]: Started Tomcat.

На этом этапе Tomcat запущен и слушает на порту 8080. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep java

Вы получите следующий вывод:

LISTEN 0      1      [::ffff:127.0.0.1]:8005             *:*    users:(("java",pid=18966,fd=53))                                                                                                                                                                                                                                                                                
LISTEN 0      100                     *:8080             *:*    users:(("java",pid=18966,fd=43))   

После завершения вы можете перейти к следующему шагу.

Настройка Nginx как обратного прокси для Tomcat

Затем вам нужно будет создать Nginx как обратный прокси для Apache Tomcat. Сначала установите веб-сервер Nginx с помощью следующей команды:

apt-get install nginx -y

После установки веб-сервера Nginx создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

nano /etc/nginx/conf.d/tomcat.conf

Добавьте следующие строки:

server {
  listen 80;

  server_name    tomcat.example.com;
  access_log /var/log/nginx/tomcat-access.log;
  error_log /var/log/nginx/tomcat-error.log;

  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:8080/;
  }
}

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

ginx -t

Вы получите следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Вы также можете проверить статус Nginx с помощью следующей команды:

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 08:15:28 UTC; 8s ago
       Docs: man:nginx(8)
    Process: 19070 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 19071 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 19072 (nginx)
      Tasks: 3 (limit: 4630)
     Memory: 3.3M
        CPU: 63ms
     CGroup: /system.slice/nginx.service
             ??19072 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??19073 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??19074 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Apr 29 08:15:28 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 29 08:15:28 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.

Доступ к Apache Tomcat

Теперь откройте веб-браузер и получите доступ к веб-интерфейсу Apache Tomcat, используя URL http://tomcat.example.com. Вы должны увидеть панель управления Tomcat на следующем экране:

Apache Tomcat

Нажмите на Manager App. Вам будет предложено пройти аутентификацию, как показано ниже:

Tomcat login

Укажите свое имя пользователя администратора и пароль, затем нажмите кнопку Sign in. Вы должны увидеть панель управления приложения менеджера на следующем экране:

Apache Tomcat dashboard

Чтобы получить доступ к приложению Host Manager, нажмите на Host Manager. Вы должны увидеть следующий экран:

Tomcat Virtual Host Manager

Нажмите на Server Status. Вы должны увидеть статус Apache Tomcat на следующем экране:

Tomcat Server Status

Заключение

Поздравляем! Вы успешно установили Apache Tomcat с Nginx в качестве обратного прокси на Ubuntu 22.04. Теперь вы можете создать и разместить свое первое Java-приложение с использованием Apache Tomcat. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.