Perlbal::Manual::WebServer - Configuring Perlbal as a Web
Server
How to configure a Perlbal Web Server service.
Please read Perlbal::Manual::Configuration first for a better
explanation on how to configure Perlbal. This document will make much more
sense after reading that.
By default, perlbal looks for a configuration file at
/etc/perlbal/perlbal.conf.
You can also point perlbal at a different configuration file with
the -c flag.
$ perlbal -c /home/user/perlbal.conf
Here's a very simple example where we configure a simple web
server that serves an index file under /tmp
CREATE SERVICE perlbal_test
SET role = web_server
SET listen = 0.0.0.0:80
SET docroot = /tmp
ENABLE perlbal_test
The first line creates a service called
"perlbal_test". The last line enables that
service.
The three parameters state - in order - that the service is a web
server, that it listens on all addresses on port 80, and that its document
root is "/tmp".
You can set parameters via commands of either forms:
SET <service-name> <param> = <value>
SET <param> = <value>
- dirindexing
= bool
- Show directory indexes when an HTTP request is for a directory. Warning:
this is not an async operation, so will slow down Perlbal on heavily
loaded sites.
Default if false.
- docroot =
directory/root
- Directory root for web server.
- enable_concatenate_get
= bool
- Enable Perlbal's multiple-files-in-one-request mode, where a client have
use a comma-separated list of files to return, always in text/plain.
Useful for web apps which have dozens/hundreds of tiny css/js
files, and don't trust browsers/etc to do pipelining.
Decreases overall round-trip latency a bunch, but requires app
to be modified to support it. See t/17-concat.t test for details.
Default is false.
- enable_md5
= bool
- Enable verification of the Content-MD5 header in HTTP PUT requests.
Default is true.
- enable_delete
= bool
- Enable HTTP DELETE requests.
Default is false.
- enable_put
= bool
- Enable HTTP PUT requests.
Default is false.
- index_files
= comma-separated list of filenames
- Comma-separated list of filenames to load when a user visits a directory
URL, listed in order of preference.
Default is index.html.
- max_put_size
= size
- The maximum content-length that will be accepted for a PUT request, if
enable_put is on.
Default is 0, which means there is no limit.
- min_put_directory
= int
- If PUT requests are enabled, require this many levels of directories to
already exist. If not, fail.
Default is 0.
- server_tokens
= bool
- Whether to provide a "Server" header.
Perlbal by default adds a header to all replies (such as the
web_server role). By setting this default to "off", you can
prevent Perlbal from identifying itself.
Default is "on".
Perlbal::Manual::Configuration, Perlbal::Manual::Management.