Instalación y uso de contenedores Jetty9

1. Introducción a Jetty9

Al momento de escribir esto, Jetty ha llegado a 9. Como un servidor web y contenedor de servlet pequeño, rápido e integrable, Jetty es ampliamente utilizado en varios proyectos y productos en desarrollo y producción. Jetty puede integrarse fácilmente en dispositivos, herramientas, marcos, servidores de aplicaciones y clústeres. Jetty proporciona funciones de servidor web y contenedor javax.servlet, admite HTTP / 2, WebSocket, OSGi, JMX, JNDI, JAAS y muchas otras integraciones. La siguiente tabla muestra las características de Jetty y algunas áreas que admite:

Características del embarcadero Jetty support
Funciones completas y estandarización Grupos grandes, como el grupo Yahoo Hadoop
Código abierto y comercial Computación en la nube, como Google AppEngine
Flexible y escalable SaaS, como Yahoo! Y Zimbra
Pequeño software Servidor de aplicaciones, como Apache Geronimo
Incrustable Marcos como GWT
Asincrónico Herramientas como EclipseIDE
Escalabilidad empresarial Equipo, como teléfono

Jetty Web Server proporciona un servidor HTTP y un contenedor de Servlet, que puede proporcionar contenido estático y dinámico desde instancias Jetty independientes o incrustadas. Jetty Web Server proporciona el siguiente soporte:

  • Servidor HTTP asincrónico
  • Contenedor de servlet estándar
  • servidor websocket
  • servidor http / 2
  • Cliente asincrónico (http / 1.1, http / 2, websocket)
  • OSGI, JNDI, JMX, JASPI, AJP 等

2. Cómo usar Jetty

2.1. Use Jetty como complemento

¡Este método utiliza Jetty en forma de Jetty incrustado!

Paso 1: agregue el complemento Jetty a pom.xml:

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>9.4.27.v20200227</version>
</plugin>

Paso 2: ejecute el siguiente comando en el directorio raíz del proyecto para ejecutar el proyecto

mvn jetty:run

De manera predeterminada, el puerto predeterminado del contenedor web Jetty es 8080. Ingrese la siguiente URL en el navegador para acceder:

http://localhost:8080/路径

2.2. Instalar el contenedor Jetty y usar

2.2.1. Descargar Jetty

Descargar jetty-distribution-9.4.27.v20200227.tar.gz

2.2.2 Descomprimir

tar -zxvf jetty-distribution-9.4.27.v20200227.tar.gz

El directorio extraído es el directorio de instalación de Jetty.

2.2.3 Configurar Jetty

  • Ingrese al directorio de instalación de Jetty para editar el archivo bin / jetty.sh y abra los comentarios de JETTY_HOME y JAVA_OPTIONS

Ruta de instalación del embarcadero

JETTY_HOME=/home/kyun/Documents/jetty-distribution-9.4.27.v20200227

Configurar JVM

JAVA_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n -server -Xmx2048m -Xms2048m -Xmn1024m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m"

(1) Configurado para habilitar la depuración de código, el puerto de depuración es 9999: -Xdebug -Xrunjdwp: transport = dt_socket, address = 9999, server = y, suspend = n
(2) Configure la memoria de inicio de jvm para este contenedor Jetty: - Xmx2048m -Xms2048m -Xmn1024m -Xss256k -XX: PermSize = 128m -XX: MaxPermSize = 128m

  • Configure el puerto de embarcadero, ingrese al directorio de instalación de Jetty y modifique el archivo etc / jetty-http.xml
<Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="8888" /></Set>
  • Establezca el tiempo de espera del servidor, ingrese el directorio de instalación de Jetty para modificar el archivo etc / jetty.xml
<Set name="stopTimeout"><Property name="jetty.server.stopTimeout" default="5000"/></Set>
  • Cierre el acceso al directorio (cierre el recorrido del directorio y cierre la visualización del archivo en el directorio)
  1. Busque /etc/webdefault.xml en el directorio raíz del muelle

  2. Encuentra la opción dirAllowed por defecto

    <init-param>
      <param-name>dirAllowed</param-name>
      <param-value>true</param-value>
    </init-param>

En la práctica, la configuración anterior no parece funcionar. En cambio, el contexto personalizado es /, y es más capaz de cerrar la exploración del directorio. Consulte "Jetty9 desplegar múltiples proyectos y método de configuración de host virtual"

  • Los archivos en el directorio de instalación de Jetty / etc son archivos de configuración de Jetty, como jetty-customrequestlog.xml, jetty-requestlog.xml, jetty-debuglog.xml se utilizan para configurar el registro de embarcadero, como la ruta de registro

3. Implemente el proyecto en Jetty

Copie el paquete de guerra empaquetado en el directorio webapps, por ejemplo, coloque el paquete FlowerShop.war en el directorio webapps.

4. Embarcadero inicio / parada

Inicie / detenga el embarcadero a través del script bin / jetty.sh en el directorio de instalación de Jetty, como por ejemplo:

bin$ ./jetty.sh start
bin$ ./jetty.sh stop
bin$ ./jetty.sh restart

También se puede iniciar con start.jar en el directorio raíz de Jetty, como:

$ java -jar start.jar

Si desea detenerse en start.jar, debe especificar dos parámetros STOP.PORT y STOP.KEY al iniciar, y los valores de los dos parámetros deben coincidir al iniciar y detener, como:

# 启动
$ java -jar start.jar STOP.PORT=8181 STOP.KEY=ugcKey
# 停止
$ java -jar start.jar STOP.PORT=8181 STOP.KEY=ugcKey --stop

Vea la ayuda y la configuración a través de start.jar:

$ java -jar start.jar --help

Los principales parámetros para ver la configuración son:

--list-config: 查看启动jetty使用的配置:java环境,jetty环境,JVM参数,属性,服务器classpath,服务器的xml配置等;--list-modules: 查看系统使用的模块--list-classpath: 查看系统使用的classpath--version:查看版本信息--module=<model-name>:临时启用一个模块

Generalmente controle la operación de jetty a través de bin / jetty.sh, use start.jar para verificar la configuración y el estado de jetty.

5. Navega por la web

Después de iniciar el navegador, puede ingresar en el navegador: http://localhost:8888/war包名(即上下文路径)/路径para visitar, como: http://127.0.0.1:8888/FlowerShop/home1
Inserte la descripción de la imagen aquíJetty instalado correctamente.

Para obtener más detalles, consulte:
"Guerra de paquete de proyecto SpringBoot lanzada a Jetty9"
"Implementación de múltiples proyectos de Jetty9 y método de configuración de host virtual"

Publicado 381 artículos originales · elogiado 85 · 80,000 vistas +

Supongo que te gusta

Origin blog.csdn.net/weixin_40763897/article/details/105490345
Recomendado
Clasificación