Sync multi nginx (persistent) caching proxy for one(or more) app server

Hi,

I am a newbie Nginx user, so bear with me here :wink:

I want to setup multiple (identical) caching proxy in front of my app
server.

Basically - Load balancer - multiple nginx caching proxy - app
server(s)

So I have two questions:

  1. How do I make the cache persistent (across nginx restart)?
    Wiki says that keys and metadata are stored in shared memory, does that
    mean it’s not possible to save cache?

  2. How do I sync the caches on different nginx, so that same URL request
    does not hit app server multiple times.
    Can I use something like rsync?

Thanks a lot!

Posted at Nginx Forum:

lookup proxy_cache_path. Cache is stored in a folder structure then.

As its filebased I persume rsync would work, although I am not sure of
the
exact implementation in nginx it may not be picked up by the cache
loaded
unless you reload.

On Mon, Aug 01, 2011 at 10:43:53PM -0400, lennydizzy wrote:

So I have two questions:

  1. How do I make the cache persistent (across nginx restart)?
    Wiki says that keys and metadata are stored in shared memory, does that
    mean it’s not possible to save cache?

The cache is persistent. Keys and metadata are loaded gracefully (I
hope)
from disk on nginx start.

  1. How do I sync the caches on different nginx, so that same URL request
    does not hit app server multiple times.
    Can I use something like rsync?

No, currently it’s not possible.


Igor S.

On 8/1/11 10:43 PM, “lennydizzy” [email protected] wrote:

  1. How do I sync the caches on different nginx, so that same URL request
    does not hit app server multiple times.
    Can I use something like rsync?

You could use memc and srcache (nginx modules) to share the cache in
memcache.


Brian A.