Jetty – еще один контейнер сервлетов, аналог Apache Tomcat.
Установка выполняется на:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty
Для работы Jetty требуется Java, установка Oracle Java 8 описана тут>>>.
Находим последнюю актуальную версию тут>>>.
Загружаем, распаковываем:
# wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.3.5.v20151012.tar.gz # tar xfp jetty-distribution-9.3.5.v20151012.tar.gz
Перемещаем каталог с Jetty в удобное место, например – /usr/local/bin
:
# mv jetty-distribution-9.3.5.v20151012 /usr/local/bin/jetty
Добавляем пользователя, под которым будет работать сервер:
# useradd jetty -U -s /bin/false # chown -R jetty:jetty /usr/local/bin/jetty/
Копируем init-скрипт:
# cp /usr/local/bin/jetty/bin/jetty.sh /etc/init.d/jetty
Файлы конфигурации, которые будут считываться Jetty, описаны в скрипте /usr/local/bin/jetty/bin/jetty.sh:
... ################################################## # Read any configuration files ################################################## ETC=/etc if [ $UID != 0 ] then ETC=$HOME/etc fi for CONFIG in {/etc,~/etc}/default/${NAME}{,9} $HOME/.${NAME}rc; do if [ -f "$CONFIG" ] ; then readConfig "$CONFIG" fi done ...
Создаем файл /etc/default/jetty
с таким содержимым:
JAVA_HOME=/usr/bin/java JETTY_HOME=/usr/local/bin/jetty NO_START=0 JETTY_ARGS=jetty.port=8085 JETTY_HOST=0.0.0.0 JETTY_USER=jetty
Параметр NO_START=0
указывает на запуск Jetty во время старта системы.
Запускаем:
# service jetty start Starting Jetty: OK Tue Nov 3 09:53:56 UTC 2015
Проверяем порт:
# netstat -anp | grep 8085 tcp6 0 0 :::8085 :::* LISTEN 7436/java
Пробуем подключиться:
# curl localhost:8085 <HTML> <HEAD> <TITLE>Error 404 - Not Found</TITLE> <BODY> <H2>Error 404 - Not Found.</H2> ...
Работает.
Ощибка 404 возникает потому что в данный момент нет ни одного приложения.
Добавляем новое:
$ echo "Hello from Jetty" > index.jsp
Создаем war-архив:
$ jar cf test.war index.jsp
Его содержимое:
$ jar tf test.war META-INF/ META-INF/MANIFEST.MF index.jsp
Копируем в каталог /usr/local/bin/jetty/webapps/
:
$ cp test.war /usr/local/bin/jetty/webapps/
Проверяем:
$ curl localhost:8085/test/index.jsp Hello from Jetty
Готово.