NAME

feersum - feersum app loader

SYNOPSIS

feersum [plackup opts] [--pre-fork=N] [app.psgi]
feersum --native [--listen host:port] [--pre-fork=N] [app.feersum]

DESCRIPTION

Loads the specified app file into a Feersum server.

In both cases, if --pre-fork=N is specified, that many worker processes are used to serve requests. See Feersum::Runner for details.

If in native mode (when running feersum --native), the following options are available:

--listen host:port

Address to listen on. Default is localhost:5000. IPv6 addresses should use bracket notation: --listen [::1]:5000

--pre-fork=N

Fork N worker processes to handle requests.

--verbose

Enable verbose output.

--reuseport

Enable SO_REUSEPORT for better load distribution across workers.

--epoll-exclusive

Enable EPOLLEXCLUSIVE mode (Linux 4.5+) for exclusive wakeup of workers.

--read-priority=N

Set EV priority for read events (-2 to 2).

--write-priority=N

Set EV priority for write events (-2 to 2).

--accept-priority=N

Set EV priority for accept events (-2 to 2).

--keepalive / --no-keepalive

Enable or disable HTTP keep-alive connections.

--read-timeout=N

Set read/keep-alive timeout in seconds.

--max-connection-reqs=N

Maximum requests per keep-alive connection (0 for unlimited).

--max-accept-per-loop=N

Maximum connections to accept per event loop iteration (default: 64).

--max-connections=N

Maximum concurrent connections (0 for unlimited). Provides DoS protection.

--header-timeout=N

Timeout in seconds for receiving complete HTTP headers (can be fractional). This is separate from the general read timeout.

--reverse-proxy / --no-reverse-proxy

Enable or disable reverse proxy mode. When enabled, Feersum trusts X-Forwarded-For and X-Forwarded-Proto headers to determine the client IP address and URL scheme respectively.

--proxy-protocol / --no-proxy-protocol

Enable or disable PROXY protocol support (HAProxy protocol). When enabled, each new connection must begin with a PROXY protocol v1 or v2 header before any HTTP or TLS data. Works with both plain HTTP and TLS listeners.

--tls-cert-file=FILE

Path to the TLS certificate file (PEM format). Must be used together with --tls-key-file. Enables TLS 1.3 on all listeners.

--tls-key-file=FILE

Path to the TLS private key file (PEM format). Must be used together with --tls-cert-file.

--h2

Enable HTTP/2 negotiation via ALPN on TLS listeners. Requires TLS to be enabled (--tls-cert-file and --tls-key-file). H2 is off by default.

When running in PSGI mode (non-native), Plack::Runner is used. See that module for documentation and defaults.