@@ -18,19 +18,18 @@ Welcome to the Varnish documentation!
Introduction
------------
Varnish is a state of the art web accelerator. It has its mission in front of a
web server and cache content.
Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture.
It has its mission in front of a
web server and cache content and it makes your web site go faster.
It makes your web site go faster.
We suggest you start by reading the installation guide
:ref:`install-index`. Once you have Varnish up and running go through
To get started with Varnish-Cache we recommend that you read the installation guide
:ref:`install-index`. Once you have Varnish up and running we recommend that you go through
our tutorial - :ref:`tutorial-index`, and finally the :ref:`users_guide_index`.
If you need to look up how a specific Varnish tool works, the
:ref:`reference-index` can help you out. Changes from previous versions are in
the :ref:`whats-new-index` chapter. In closing we have :ref:`phk`, a collection
of blog posts related to Varnish and HTTP.
If you need to find out how to use a specific Varnish tool, the
:ref:`reference-index` contains detailed documentation over the tools. Changes from previous versions are located in
the :ref:`whats-new-index` chapter. In closing, we have :ref:`phk`, a collection
of blog posts from Poul-Henning Kamp related to Varnish and HTTP.
Getting hold of the gang behind Varnish is pretty straight forward,
we try to help as much as time permits and have tried to streamline
we try to help out as much as time permits and have tried to streamline
this process as much as possible.
But before you grab hold of us, spend a moment composing your thoughts and
formulate your question. There is nothing as pointless as simply telling
us "Varnish does not work for me" with no further information to give
any clue to why.
formulate your question. From our perspective there is nothing as pointless as simply telling
us "Varnish does not work for me" with no further information. This does not give us any relevant information to use when trying to figure out whats wrong.
And before you even do that, do a couple of searches to see if your
question is already answered, if it has been, you will get your answer
...
...
@@ -20,7 +19,7 @@ IRC Channel
The most immediate way to get hold of us is to join our IRC channel:
``#varnish on server irc.linpro.no``
`#varnish on server irc.linpro.no`
The main timezone of the channel is Europe work hours.
...
...
@@ -32,27 +31,27 @@ If the channel is all quiet, try again some time later, we do have lives,
families and jobs to deal with also.
You are more than welcome to just hang out, and while we don't mind
the occational intrusion of the real world into the flow, keep
it mostly on topic, and don't paste random links unless they are
the occasional intrusion from the real world into our flow, we try and keep
it mostly on topic, and please don't paste random links unless they are
*really* spectacular and intelligent.
Mailing Lists
=============
Getting on or off our mailing lists happens through Mailman_.
Subscribing or unsubscribing to our mailing lists is handled through our Mailman_.
If you are going to use Varnish, subscribing to our ``varnish-announce``
mailing list is probably a very good idea. The typical pattern is that
If you are going to use Varnish, subscribing to our `varnish-announce`
mailing list is a very good idea. The typical pattern is that
people spend some time getting Varnish running, and then more or less
forget about it. Therefore the announce list is a good way to be
reminded about new releases, bad bugs or security holes.
reminded about new releases, bugs or potential (security) vulnerabilities.
The ``varnish-misc`` mailing list is for general banter, questions,
The `varnish-misc` mailing list is for general banter, questions,
suggestions, ideas and so on. If you are new to Varnish it may pay
off to subscribe to it, simply to have an ear to the telegraph-pole
and learn some smart tricks. This is a good place to ask for help
with more complex issues, that require quoting of files and long
and potentially learn some smart tricks. This is also a good place to ask for help
with more complex issues, that may require file-chunks, references to files and/or long
explanations.
Make sure to pick a good subject line, and if the subject of the
...
...
@@ -61,26 +60,29 @@ with hundreds of emails per day, after spam-filters, and we need all
the help we can get to pick the interesting ones.
The ``varnish-dev`` mailing list is used by the developers and is
usually quite focused on source-code and such. Everybody on
the -dev list is also on -misc, so cross-posting only serves to annoy
The `varnish-dev` mailing list is used by the developers and is
usually quite focused on source-code and such. Everybody on
the `-dev` list is also on `-misc`, so cross-posting only serves to annoy
those people.
We also maintain a community wiki_ for Varnish, there you will find information on planned events, meetings, current backlog, troube tickets , and links to resources and documentation.
.. XXX: we should introduce the wiki (if we care about it) before
.. we start referring to it (below). Make a wiki chapter?
Trouble Tickets
===============
Please do not open a trouble ticket, unless you have spotted an actual
bug in Varnish. Ask on IRC first if you are in doubt.
The reason for this policy, is to avoid the bugs being drowned in a
pile of sensible suggestions for future enhancements and call for help
from people who forget to check back if they get it and so on.
The reason for this policy, is to avoid bugs being drowned in a
pile of other `issues`, feature suggestions for future releases, and double postings of calls for help
from people who forgot to check back on already opened Tickets.
We track suggestions and ideas in our `"Shopping-List" wiki page`_, and user
.. XXX: Not sure what you want with the last sentence above. benc
We instead track suggestions and feature ideas in our `"Shopping-List" wiki page`_, and through user
support via email and IRC.
Commercial Support
...
...
@@ -90,6 +92,8 @@ The following companies offer commercial Varnish support, and are listed
here for your convenience. If you want your company listed here, drop
an email to phk@FreeBSD.org.
.. XXX: Should we perhaps enhance this to explain Varnish Plus? benc
@@ -7,18 +7,17 @@ In order for you to install Varnish you must have the following:
* A recent, preferably server grade, computer.
* A fairly modern and 64 bit version of either
- Linux
- FreeBSD
- Solaris (x86 only)
* root access to said system.
- FreeBSD, or
- Solaris (x86 only).
* Root access.
Varnish can be installed on other UNIX systems as well, but it is not
tested particularly well on these platforms. Varnish is, from time to
Varnish can be installed on other UNIX systems as well, but it is not extensively or systematically tested by us on other systems than the above. Varnish is, from time to
time, said to work on:
* 32 bit versions of the before-mentioned systems.
* OS X
* NetBSD
* OpenBSD
* Windows with Cygwin
* 32 bit versions of the before-mentioned systems,
Varnish is a caching HTTP reverse proxy. It receives requests from
clients and tries to answer them from its cache. If it cannot answer
the request from its cache it will forward the request to the backend,
fetch the response, store it and deliver it to the client.
Varnish is a caching HTTP reverse proxy. It recieves requests from
clients and tries to answer them from the cache. If Varnish cannot answer
the request from the cache it will forward the request to the backend,
fetch the response, store it in the cache and deliver it to the client.
When Varnish has a cached response ready it is typically delivered in
a matter of microseconds, several orders of magnitude faster than your
typical application server, so you want to make sure to have it answer
as many of the requests as possible.
typical backend server, so you want to make sure to have Varnish answer
as many of the requests as possible directly from the cache.
Varnish decides whether it can store the content or not based on the
response it gets back from the backend. The backend can instruct
Varnish to cache the content with the HTTP response header
Cache-Control. There are a few other conditions where Varnish will not
cache, the most common one being cookies. Since cookies is a good
indication that a web object is personalised, Varnish will with its
default configuration, not cache it.
This behaviour and most other behaviour can be changed using policies
`Cache-Control`. There are a few conditions where Varnish will not
cache, the most common one being the use of cookies. Since cookies indicates a client-specific web object, Varnish will by default not cache it.
This behaviour as most of Varnish functionality can be changed using policies
written in the Varnish Configuration Language. See the Users Guide
for more information on how to do that.
...
...
@@ -34,6 +31,8 @@ turning performance into a non-issue. You get to focus on how your web
application work and you can allow yourself, to some degree, to care
less about performance and scalability.
.. XXX:Not totally sure what the last sentence above means. benc
Flexibility
~~~~~~~~~~~
...
...
@@ -77,3 +76,5 @@ information and signup. There is also a web forum on the same site.
Now that you have a vague idea on what Varnish Cache is, let see if we
can get it up and running.
.. XXX:The above three paragraphs are repetetive this is already handled in previos chapters. The only new information is Governing Board which could be moved to the introduction and the paragraphs scrapped. benc
There are a couple of things that are different with Varnish Cache, as
opposed to other programs. One thing you've already seen - VCL. I'll
just give you a very quick tour of the other pecularities.
opposed to other programs. One thing you've already seen - VCL. In this section we provide a very quick tour of other pecularities you need to know about to get the most out of Varnish.
Configuration
~~~~~~~~~~~~~
The Varnish Configuration is written in VCL. When Varnish is ran this
configuration is transformed into C code and then fed into a C
compiler, loaded and run. So, as opposed to declaring various
settings, you write polices on how the incoming traffic should be