Гид по технологиям

Установка Jetty на Debian 10

• 4 min read • Linux • Обновлено 18 Nov 2025
Как установить Jetty на Debian 10
Как установить Jetty на Debian 10

Иллюстрация сервера Jetty

О чём эта инструкция

Jetty — лёгкий, встраиваемый HTTP-сервер на Java. Его используют в продуктах вроде Alfresco, Apache ActiveMQ и Hadoop. Эта инструкция пошагово покажет установку Jetty на Debian 10 и базовую настройку с Nginx как обратным прокси.

Требования

  • Сервер с Debian 10.
  • Пароль root или доступ по sudo.
  • Доступ в интернет для загрузки пакетов.

Начало работы

Перед установкой рекомендую обновить пакеты и перезагрузить систему, если требуется:

apt-get update -y
apt-get upgrade -y

Если ядро или системные сервисы обновились, перезагрузите сервер:

systemctl reboot

Важно: выполняйте обновления в окне обслуживания, если это продакшн-сервер.

Установка Java

Jetty — Java-приложение, поэтому нужна JDK. В репозитории Debian доступна стандартная версия OpenJDK:

apt-get install default-jdk -y

Проверьте версию Java:

java --version

Ожидаемый вывод (пример):

openjdk 11.0.3 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-post-Debian-5)
OpenJDK 64-Bit Server VM (build 11.0.3+7-post-Debian-5, mixed mode, sharing)

Если на сервере уже установлена другая версия Java, убедитесь, что она совместима с используемыми вами приложениями.

Установка Jetty

В Debian 10 Jetty доступен как пакет jetty9. Установите его так:

apt-get install jetty9 -y

Проверка информации о пакете:

apt show jetty9

Примерный вывод:

Package: jetty9
Version: 9.4.15-1
Priority: optional
Section: java
Maintainer: Debian Java Maintainers <[email protected]>
Installed-Size: 757 kB

Запустите и включите автозапуск сервиса:

systemctl start jetty9
systemctl enable jetty9

Проверьте статус:

systemctl status jetty9

Пример логов сервиса (фрагмент):

? jetty9.service - Jetty 9 Web Application Server
   Loaded: loaded (/lib/systemd/system/jetty9.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-09-28 02:47:55 EDT; 1min 11s ago
     Docs: https://www.eclipse.org/jetty/documentation/current/
 Main PID: 1658 (java)
    Tasks: 24 (limit: 1138)
   Memory: 69.9M
   CGroup: /system.slice/jetty9.service
           ??1658 /usr/bin/java -Djetty.home=/usr/share/jetty9 -Djetty.base=/usr/share/jetty9 -Djava.io.tmpdir=/tmp -jar /usr/share/jetty9/star

Если сервис не запускается, смотрите раздел Траблшутинг ниже.

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

По умолчанию Jetty слушает на порту 8080. Чтобы открыть приложение по порту 80 через домен, используйте Nginx в качестве обратного прокси.

  1. Установите Nginx:
apt-get install nginx -y
  1. Создайте конфигурацию виртуального хоста:
nano /etc/nginx/sites-available/jetty.conf

Вставьте:

upstream jetty {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     example.com;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_pass http://jetty/;
  }
}

Сохраните файл. Проверьте синтаксис Nginx:

nginx -t

Примените конфигурацию и перезапустите сервис:

ln -s /etc/nginx/sites-available/jetty.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Совет: замените example.com на ваш домен и добавьте директиву server_name с алиасами, если нужно.

Доступ к веб-интерфейсу Jetty

Откройте в браузере http://example.com (замените на свой домен). По умолчанию вы увидите страницу Jetty.

Дашборд Jetty на Debian

Поздравляю — Jetty установлен и доступен через Nginx.

Безопасность и жёсткие настройки

  • Запускайте Jetty от непривилегированного пользователя. В пакете Debian это обычно учтено.
  • Закройте ненужные порты в брандмауэре (ufw/iptables). Оставьте 80 и, при необходимости, 443 открытыми.
  • Для публичных сайтов настраивайте TLS: используйте Certbot для получения сертификата Let’s Encrypt и настройте редирект с 80 на 443.
  • Настройте заголовки безопасности (Content-Security-Policy, X-Frame-Options) на уровне Nginx.
  • Ограничьте доступ к административным контекстам Jetty через IP-фаервол или базовую аутентификацию.

Траблшутинг — часто встречаемые проблемы

  • Сервис не стартует: смотрите journalctl -u jetty9 -b и /var/log/jetty9/*.
  • Порт 8080 занят: убедитесь, что никакой другой сервис не слушает 8080 (ss -tulpn | grep 8080).
  • Nginx возвращает 502/504: проверьте, доступен ли backend по 127.0.0.1:8080 и нет ли таймаута. Увеличьте proxy_read_timeout при необходимости.
  • Проблемы с правами: проверьте владельца и права в /var/lib/jetty9 и /usr/share/jetty9.

Альтернативные подходы

  • Docker: запустить официальный образ Jetty если хотите изолировать окружение и упростить деплой.
  • Ручная установка: скачать дистрибутив с сайта Eclipse Jetty и управлять инсталляцией самостоятельно (больше контроля, но нужна ручная конфигурация systemd).
  • Использовать другой обратный прокси: Caddy, HAProxy или встроенные возможности балансировки.

Чеклист по ролям

  • Системный администратор:

    • Обновил систему и установил JDK.
    • Установил и запустил jetty9, настроил автозапуск.
    • Настроил Nginx и TLS.
    • Проверил логи и ошибки.
  • Разработчик:

    • Развернул приложение в webapps или сконфигурировал jetty.base.
    • Проверил рабочую область JVM и параметры памяти.
    • Протестировал приложение через Nginx.

Критерии приёмки

  • Jetty работает и отвечает на запросы локально (curl http://127.0.0.1:8080).
  • Nginx проксирует домен на Jetty и возвращает корректный HTML.
  • Сервис jetty9 имеет статус active (running).
  • Логи ошибок пусты за период тестирования.

Короткая методология развертывания

  1. Подготовить и обновить систему.
  2. Установить OpenJDK.
  3. Установить jetty9 и проверить сервис.
  4. Установить и настроить Nginx как прокси.
  5. Настроить TLS и политики безопасности.
  6. Тестирование и ввод в эксплуатацию.

Когда этот подход не подходит

  • Нужна максимальная производительность и тонкая настройка JVM — возможно, лучше ручная сборка Jetty или оптимизация параметров JVM.
  • Требуется контейнеризация и быстрое масштабирование — рассмотрите Docker/Kubernetes.

Резюме

Установка Jetty на Debian 10 проста при использовании пакетов из репозитория: достаточно установить JDK, пакет jetty9 и при необходимости настроить Nginx как обратный прокси. Дополнительно рекомендуется настроить TLS и заголовки безопасности. В приложении выше вы найдёте чеклисты для администратора и разработчика, советы по устранению проблем и альтернативные варианты развертывания.

Важно: всегда тестируйте изменения на тестовом окружении перед выкатом в продакшн.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро