Установка 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 на следующем экране:

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

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

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

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

Заключение
Поздравляем! Вы успешно установили Apache Tomcat с Nginx в качестве обратного прокси на Ubuntu 22.04. Теперь вы можете создать и разместить свое первое Java-приложение с использованием Apache Tomcat. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.