Поиск по сайту:

Как установить HTTP-сервер Jetty JAVA на Debian 10


На этой странице

  1. Требования
  2. Начало работы
  3. Установить Java
  4. Установить причал
  5. Настройка Nginx в качестве обратного прокси-сервера для Jetty
  6. Доступ к веб-интерфейсу Jetty

Jetty — это бесплатный Java HTTP-сервер с открытым исходным кодом, который можно использовать в различных проектах, как в разработке, так и в производстве. Jetty занимает мало места, является встраиваемым, полнофункциональным и поддерживает SPDY, WebSocket, OSGi, JNDI, JAAS и многие другие интеграции. Jetty используется во многих активных продуктах, таких как Alfresco, Apache ActiveMQ, Apache Spark, Apache Maven, Red5 и Hadoop.

В этом руководстве мы покажем вам, как установить Jetty на Debian 10.

Требования

  • Сервер под управлением Debian 10.
  • На вашем сервере настроен пароль root.

Начиная

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

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

После обновления вашей системы перезапустите ее, чтобы применить изменения конфигурации.

Установить Java

Jetty — это приложение на основе Java. Итак, вам нужно будет установить Java в вашу систему. По умолчанию последняя версия Java доступна в репозитории по умолчанию Debian 10. Вы можете установить его, просто выполнив следующую команду:

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)

Установить причал

По умолчанию Jetty доступен в репозитории по умолчанию Debian 10. Вы можете установить его, просто выполнив следующую команду:

apt-get install jetty9 -y

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

apt show jetty9

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

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

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

systemctl start jetty9
systemctl enable jetty9

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

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

Sep 28 02:48:12 debian jetty9[1658]: 2019-09-28 02:48:12.492:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///var/lib/jetty9/we
Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.079:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=16ms
Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.602:INFO:oejshC.root:main: Warning: No org.apache.tomcat.JarScanner set in ServletCont
Sep 28 02:48:15 debian jetty9[1658]: 2019-09-28 02:48:15.796:INFO:oajs.TldScanner:main: At least one JAR was scanned for TLDs yet contained no 
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.312:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.315:INFO:oejs.session:main: No SessionScavenger set, using defaults
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.318:INFO:oejs.session:main: node0 Scavenging every 600000ms
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.587:INFO:oejsh.ContextHandler:main: Started {root,/,file
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.836:INFO:oejs.AbstractConnector:main: Started {HTTP/1.1,[http/
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.843:INFO:oejs.Server:main: Started @21109ms
lines 1-20/20 (END)

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

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

Для этого сначала установите веб-сервер Nginx с помощью следующей команды:

apt-get install nginx -y

Затем создайте новый файл конфигурации виртуального хоста для Jetty с помощью следующей команды:

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

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

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

Затем включите виртуальный хост Nginx и перезапустите службу Nginx, чтобы применить новую конфигурацию:

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

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

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

Поздравляем! вы успешно установили и настроили Jetty с Nginx в Debian 10. Теперь вы можете легко развернуть свое Java-приложение с помощью Jetty.