Skip to main content

Recipe to install and configure Pound

Project description

Change history

trunk (2008-07-07)

  • xxx [Ingeniweb]

0.5.0 (2008-07-07)

  • rename iw.recipe.pound to plone.recipe.pound [youenn]

  • fix doctests [youenn]

  • add socket option [mathieu pasquet]

  • config recipe now additionally creates “poundrun” script which merely runs configured pound executable with correct configuration [rockyburt]

  • fetching current running user is now more robust [rockyburt]

0.4.1 (2008-07-02)

  • fix Cheetah require [youenn]

0.4.0 (2008-06-26)

  • add a ctl script (as plone.recipe.squid) [youenn]

0.3.0

  • devide recipe in two part : build and config part [youenn]

  • add options to build (extra-options) [youenn]

  • add options to the config file (time-out, priority …) [youenn]

0.2.0

  • added a script to launch pound with the right conf file [tarek]

0.1.0

  • Initial release [tarek]

Detailed Documentation

Building

Supported options

The recipe supports the following options:

url

URL for an archive containing the Pound sources. Either url or svn has to be specified.

svn

URL for a subversion repository containing Pound sources. Either url or svn has to be specified.

ssl_dir

OpenSSL home directory (default: system defined).

t_rsa

timeout of the RSA ephemeral keys regeneration (default: 300 seconds).

owner

name of installed binaries owner (default is user that launch buildout).

group

name of installed binaries group (default is system-dependent)

extra-options

extra options for compilation

Example usage

We’ll start by creating a buildout that uses the recipe:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = poundbuild
... index = http://pypi.python.org/pypi
...
... [poundbuild]
... recipe = plone.recipe.pound:build
... url = http://www.apsis.ch/pound/Pound-2.3.2.tgz
... """ )

Running the buildout gives us:

>>> print system(buildout)
Installing poundbuild.
poundbuild: compilation option : --with-owner=youenn --with-group=youenn
poundbuild: Downloading http://www.apsis.ch/pound/Pound-2.3.2.tgz
poundbuild: Unpacking and configuring
...

Configuring

Supported options

The recipe supports the following options:

daemon - Daemon 0|1

Have Pound run in the foreground (if 0) or as a daemon (if 1). By default Pound runs as a daemon (detaches itself from the controlling terminal and puts itself in the background). By specifying this option you can force Pound to work like a regular process. Useful for debugging or if you want to use something like daemontools.

log_facility - LogFacility value

Specify the log facility to use. value (default: daemon) must be one of the symbolic facility names defined in syslog.h. This facility shall be used for logging. Using a - for the facility name causes Pound to log to stdout/stderr.

log_level - LogLevel value

Specify the logging level: 0 for no logging, 1 (default) for regular logging, 2 for extended logging (show chosen backend server as well), 3 for Apache-like format (Combined Log Format with Virtual Host), 4 (same as 3 but without the virtual host information) and 5 (same as 4 but with information about the Service and BackEnd used). This value can be overridden for specific listeners.

dynscale - DynScale 0|1

Enable or disable the dynamic rescaling code (default: 0). If enabled Pound will periodically try to modify the back-end priorities in order to equalise the response times from the various back-ends. This value can be overridden for specific services.

alive - Alive value

Specify how often Pound will check for resurected back-end hosts (default: 30 seconds). In general, it is a good idea to set this as low as possible - it will find resurected hosts faster. However, if you set it too low it will consume resources - so beware.

client - Client value

Specify for how long Pound will wait for a client request (default: 10 seconds). After this long has passed without the client sending any data Pound will close the connection. Set it higher if your clients time-out on a slow network or over-loaded server, lower if you start getting DOS attacks or run into problems with IE clients. This value can be overridden for specific listeners.

timeout - TimeOut value

How long should Pound wait for a response from the back-end (in seconds). Default: 15 seconds.

grace - Grace value

How long should Pound continue to answer existing connections after a receiving and INT or HUP signal (default: 30 seconds). The configured listeners are closed immediately. You can bypass this behaviour by stopping Pound with a TERM or QUIT signal, in which case the program exits without any delay.

balancers - list of listener http with backend

Set the list of backends, the list by default is name adress:port adress-backend-1:port-backend-1(,priority,timeOut) adress-backend-2:port-backend-2(,priority,timeOut) … adress-backend-n:port-backend-n(,priority,timeOut)

executable - path to pound, required if pound executable is not provided by the build recipe

socket - Set the control socket path.

Example usage

We’ll start by creating a buildout that uses the recipe:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = configpound
...
... [configpound]
... recipe = plone.recipe.pound:config
... executable = /usr/sbin/pound
... balancers =
...    one  127.0.0.1:80 127.0.0.1:8080 127.0.0.1:8081,1
...    two  0.0.0.0:81 127.0.0.1:8082,1,120 127.0.0.1:8083 169.1.1.2:80
...
... """ )

Running the buildout gives us:

>>> print system(buildout)
Installing configpound.
<BLANKLINE>

Contributors

ingeniweb Internal sprint 2008 Tarek Ziade Youenn Boussard Rocky Burt Mathieu Pasquet

Download

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone.recipe.pound-0.5.0.tar.gz (169.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plone.recipe.pound-0.5.0-py2.4.egg (179.3 kB view details)

Uploaded Egg

File details

Details for the file plone.recipe.pound-0.5.0.tar.gz.

File metadata

File hashes

Hashes for plone.recipe.pound-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c4cbe37ea41a734a4871b6be93b67d2c68326e145bb20a9362b2314f108fb6df
MD5 a6ede9423f0013ac0b579ef9dd6521f9
BLAKE2b-256 4de31dd002f3fc18b45dc9f0830eafd765aff2e8993975dec65580c275de94fa

See more details on using hashes here.

File details

Details for the file plone.recipe.pound-0.5.0-py2.4.egg.

File metadata

File hashes

Hashes for plone.recipe.pound-0.5.0-py2.4.egg
Algorithm Hash digest
SHA256 20d31f14d94dafc90c2e333e68157dadc3a3645260ea21f57666b6bf4fdb47c6
MD5 c3d63ef6e4d731734f45d8d26fd7eac9
BLAKE2b-256 a74f50411d83fd21a1b4443ff6b798734ceb1a0fc85d1d16aa2e7cf034d39b4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page