Buildout recipe to install varnish
Project description
plone.recipe.varnish is a zc.buildout recipe to install Varnish. Even though the name contains the Plone there is nothing Plone specific about this recipe: it works work non-Zope sites just as well.
Configuring it is very simple. For example:
[varnish] recipe = plone.recipe.varnish url = http://puzzle.dl.sourceforge.net/sourceforge/varnish/varnish-1.1.tar.gz bind = 127.0.0.1:8000 backends = 127.0.0.1:8080 cache-size = 1G
This configures a buildout part which runs Varnish to listen on 127.0.0.1:8000 for requests, using a 1 gigabyte cache and sending requests to a backend at 127.0.0.1:8080.
Wrappers for all the varnish commands are created in the bin directory of your buildout.
Virtual hosting
Varnish supports virtual hosting by selecting a different backend server based on headers on the incoming request. You can configure the backends through the backends option:
[varnish] backends = plone.org:127.0.0.1:8000 plone.net:127.0.0.1:9000
This will generate a configuration which sends all traffic for the plone.org host to a backend server running on port 8000 while all traffic for the plone.net host is send to port 9000.
Zope 2 hosting
If you are using Zope 2 as backend server you will need to rewrite the URL so the Zope Virtual Host Monster can generate correct links for links in your pages. This can be done either by a web server such as Apache or nginx but can also be done by Varnish. This can be configured using the zope_vhm_map option. Here is an example:
[varnish] zope_vhm_map = plone.org:/plone plone.net:/plone
This tells us that the domain plone.org should be mapped to the location /plone in the backend. By combing this with the information from the backends option a varnish configuration will be generated that maps URLs correctly.
Option reference
- url
URL for an archive containing the Varnish sources. Either url or svn has to be specified.
- svn
URL for a subversion repository containing Varnish sources. Either url or svn has to be specified.
- cache-size
The size of the cache.
- bind
Hostname and port on which Varnish will listen for requests. Defaults to 127.0.0.1:8000.
- backends
Specifies the backend or backends which will process the (uncached) requests. There are two ways to specify backends: using hostname:backend server:backend port or backend server:backend port. Using the first option allows you to do virtual hosting. If multiple backends are specified you have to use the full form including the (virtual) hostname. Defaults to 127.0.0.1:8080.
- zope_vhm_map
Defines a virtual host mapping for Zope servers. This is a list of hostname:ZODB location entries which specify the location inside Zope where the website for a virtual host lives.
- telnet
If specified sets the hostname and port on which Varnish will listen for commands using its telnet interface.
- user
The name of the user varnish should switch to before accepting any requests. Defaults to nobody.
- group
The name of the group varnish should switch to before accepting any request. This defaults to the main group for the specified user.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for plone.recipe.varnish-1.0b2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79b868caa40f455ee52951fac0756951fc1c45b747708c74e344ea89ce840deb |
|
MD5 | 4bbbd208643d492902db37affb0db284 |
|
BLAKE2b-256 | 9f6852181689bd2226b4d4384163a277ded1b2eb9e2108ce25d0c418d282acdd |
Hashes for plone.recipe.varnish-1.0b2-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6585523f3dcf06a96fb322a7956eff92d88617bd8a7dfec063917838086ee222 |
|
MD5 | dcf05f5b26a321b8e2ccc9c2675f4ce8 |
|
BLAKE2b-256 | 5c3b21e5c2ccbd3a8af7a55a074feccfbbca75a05efa7c661ac1299c34fa206b |