eZ Platform Discussions

Nginx fastcgi_cache possibility?


#1

Hi,

I´ve installed ezpublish open source 2.1 on my nginx environment with php-fpm 7.2. Because I´m working with fastcgi_cache at the most application and I haven´t found anything regarding this topic at the documentation or within this board: has anyone experiences with fastcgi_cache and nginx implementation for ezpublish (frontend)?

Or is this kind of cache not suitable for this application? I´ve read that I can use varnish with nginx, but it would be great to have a configuration working with the onboard features of nginx.

Regards,

Ben


#2

Hello

Varnish is much more flexible than Nginx as a reverse proxy, and it allows to do trick such as:

  • caching different versions of a page for different users, based on their policies
  • keeping in the cache contents with a high ttl but allowing eZ to expire them when they are republished

If you simply turn on a solution that does cache pages from ez with a fixed TTL, you would lose both of those benefits, and would most likely have weird errors (users seeing undesired data) because of stale cache or cache-sharing.

Of course if your site is only anonymous and contents never get republished after the 1st publication, things might mostly work… but no one wants to spend time to optimize the cms to work out of the box at maximum speed in such a limited scenario only

(my 2 cents)


#3

ps: I just gave a quick look at nginx docs, and it seems that it supports cache Purge calls, as well as caching based on Cache-control headers. It seems that the big missing piece would then be to be able to vary the response based on user policies… (and ESI of course)


#4

Thanks for your reply. Of course nginx can handle purges and it can exclude specific URIs for caching. I run it with other web applications and it´s working fine, but the default nginx configuration for caching does not work at ezpublish.


#5

If nginx fastcgi_cache doesn’t support ESI which eZ Platform leverages a lot, then I am not sure how would it work together efficiently :confused: