Как запустить Jetty в Linux

Александр Ящук, Zoer, R5AM, Москва, 2019г.
На главную
  1. Проверить установлена ли Java:
    
        java -version
        
    Если не установлена, то:
    
        apt install openjdk-8-jdk
        


  2. На странице https://www.eclipse.org/jetty/download.html посмотреть версию свежего Jetty и скачать его:
    
        wget http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.19.v20190610/jetty-distribution-9.4.19.v20190610.tar.gz
        


  3. Распаковать Jetty в /opt/jetty, то есть файл start.jar должен быть в директории /opt/jetty.


  4. Созать сервис для Jetty:
    
        cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty
        


  5. Проверить работоспособность Jetty при запуске руками:
    • в файле start.ini указать требуемый порт:
      
          jetty.http.port=8087
          
    • и запустить Jetty:
      
          java -jar /opt/jetty/start.jar
          
    • проверить браузером запущенный Jetyy на порту 8087, например по http://localhost:8087 - должно отображаться что-то подобное этому:
      
          Error 404 - Not Found.
          No context on this server matched or handled this request.
      	...
          


  6. Или можно указывать порт в командной строке:
    
        java -jar $JETTY_HOME/start.jar jetty.http.port=8087
        


  7. Создать файл конфигурации, указав базовую директорию и порт, на котором будет запускаться сервер:
    
        vi /etc/default/jetty
        
    в самом файле:
    
        JAVA=/usr/bin/java                  # Путь до Java
        NO_START=0                          # Старт при загрузке
        JETTY_HOST=0.0.0.0                  # Слушать на всех интерфейсах, можно только 127.0.0.1 и натравить nginx
        JETTY_ARGS=jetty.http.port=8087     # Порт
        JETTY_USER=nobody                   # Запуск под пользователем, nobody указан в nginx тоже
        JETTY_HOME=/opt/jetty
        JETTY_BASE=/opt/jetty	            # Только один сервер приложений используем
        JETTY_SHELL=/bin/sh
        JETTY_LOGS=/var/log/jetty
        JETTY_START_LOG=/var/log/jetty/jetty-start-log.log
        


  8. Автозагрузка:
    • Создать /var/log/jetty и дать права в него писать юзеру nobody/nogroup .
    • Зарегистрировать сервис:
      
          update-rc.d jetty defaults
          
    • Проверить конфигурацию Jetty (про депрекейтет лог JETTY_LOGS - разобраться!):
      
          service jetty check
          
    • Запустить сервис:
      
          service jetty start
          
    • Проверить запущенный сервис:
      
          systemctl status jetty.service
          


  9. Создать простейший war:
    
        echo "Hello, Wasja!" > index.jsp
        jar cf first.war index.jsp
        


  10. Положить war-ник в директорию webapps в Jetty:
    
        cp first.war /opt/jetty/webapps/first.war
        
    Приложение появится в таблице на стартовой странице Jetty.






На главную
К началу страницы