### LiteSpeed Web Server Users' Manual

##### Version 5.0 Rev. 1

- License Std / Ent
- Introduction
- Installation
- Administration
  - Service Manager
- Security
- Configuration
  - Server General
  - Server Tuning
  - Server Security
  - Request Filter
  - Page Cache
  - External Apps
  - Fast CGI App
  - Fast CGI Authorizer
  - LSAPI App
  - Servlet Engine
  - Web Server
  - Pipped logger
  - Load Balancer
  - Script Handler
  - Rack/Rails Settings
  - Listeners
  - Templates
  - Virtual Host Basic
  - Virtual Host General
  - Virtual Host Security
  - Rewrite
  - Context
  - Static Context
  - Java Web App Context
  - Servlet Context
  - Fast CGI Context
  - LSAPI Context
  - Proxy Context
  - CGI Context
  - Load Balancer Context
  - Redirect Context
  - Rack/Rails Context
  - Web Socket Proxy
  - Add-ons
  - Admin Server
  - Admin Listeners

# Servlet Engine

#### Table of Contents

Name
Description: A unique name for this external application. You will refer to it by this name when you use it in other parts of the configuration.

Address
Description: A unique socket address used by the external application. IPv4/IPv6 sockets and Unix Domain Sockets (UDS) are supported. IPv4/IPv6 sockets can be used for communication over the network. UDS can only be used when the external application resides on the same machine as the server.
Syntax: IPv4 or IPV6 address:port or UDS://path
Example: 127.0.0.1:5434 UDS://tmp/lshttpd/php.sock.
Tips: [Security] If the external application runs on the same machine, UDS is preferred. If you have to use an IPv4|IPV6 socket, set the IP address to localhost or 127.0.0.1, so the external application is inaccessible from other machines. [Performance] Unix Domain Sockets generally provide higher performance than IPv4 sockets.

Max Connections
Description: Specifies the maximum number of concurrent connections that can be established between the server and an external application. This setting controls how many requests can be processed concurrently by an external application, however, the real limit also depends on the external application itself. Setting this value higher will not help if the external application is not fast enough or cannot scale to a large number of concurrent requests.
Syntax: Integer number
Tips: [Performance] Setting a high value does not directly translate to higher performance. Setting the limit to a value that will not overload the external application will provide the best performance/throughput.

Keep Alive Timeout (secs)
Description: Specifies the maximum time to keep an idle persistent connection open. When set to "-1", the connection will never timeout. When set to greater than or equal to 0, the connection will be closed after this time in seconds has passed.
Syntax: int

Environment
Description: Specifies extra environment variables for the external application.
Syntax: Key=value. Multiple variables can be separated by "ENTER"

Initial Request Timeout (secs)
Description: Specifies the maximum time in seconds the server will wait for the external application to respond to the first request over a new established connection. If the server does not receive any data from the external application within this timeout limit, it will mark this connection as bad. This helps to identify communication problems with external applications as quickly as possible. If some requests take longer to process, increase this limit to avoid 503 error messages.
Syntax: Integer number

Retry Timeout (secs)
Description: Specifies the period of time that the server waits before retrying an external application that had a prior communication problem.
Syntax: Integer number

Response Buffering
Description: Specifies whether to buffer response received from external applications. If a "nph-" (Non-Parsed-Header) script is detected, buffering is turned off for responses with full HTTP headers.
Syntax: Select from drop down list