Как установить HTTP-сервер Jetty JAVA на Debian 10
На этой странице
- Требования
- Начало работы
- Установить Java
- Установить причал
- Настройка Nginx в качестве обратного прокси-сервера для Jetty
- Доступ к веб-интерфейсу 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.