Expand my Community achievements bar.

SOLVED

Does AEM support using Nginx as a dispatcher server?

Avatar

Level 5

Does AEM support using Nginx as a dispatcher server?

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hello,

There are no plans on supporting AEM Dispatcher on Nginx. But you can use Nginx in front of the Dispatcher as an additional caching layer.

Regards,

Vishu

View solution in original post

8 Replies

Avatar

Correct answer by
Employee Advisor

Hello,

There are no plans on supporting AEM Dispatcher on Nginx. But you can use Nginx in front of the Dispatcher as an additional caching layer.

Regards,

Vishu

Avatar

Level 5

I believe that there was a formal request to develop a dispatcher module for Nginx. What happened? Why did you guys decide not to implement it?

Avatar

Employee Advisor

Yes, the internal tracking number is DISP-338 but it is deferred at this point.

Avatar

Level 5

Well, let me give you some motivation. Nginx is an all around superior product to Apache.

In the context of AEM, it has particular advantages.

(Please correct me if I am wrong about any of this.)

The way Apache works is that when a thread handles a request, it blocks on submitting the request to publish. Not a big deal when load is low and publish responds quickly. However, when load gets high and publish responds slowly or not at all, these blocking threads keep Apache from responding at al.

Nginx uses a task queue that frees up threads rather than blocking waiting for a response.

https://www.nginx.com/blog/thread-pools-boost-performance-9x/

This would give AEM an extra level of resiliency where dispatcher could serve pre-cached content even when publish is under heavy load.

Avatar

Level 1

Hi,

I agree with this requests, but not only for the purposes described above, but also because development on both Apache and Dispatcher has slowed (e.g. where is the new dispatcher plugin for Windows?).

 

Nginx is a superior solution and wins over Apache in most studies:

https://serverguy.com/comparison/apache-vs-nginx/

https://www.nginx.com/blog/nginx-vs-apache-our-view/

https://www.plesk.com/blog/various/nginx-vs-apache-which-is-the-best-web-server/

https://www.hostingadvice.com/how-to/nginx-vs-apache/

 

All that being said, we also use Varnish, which is largely ignored as a solution to AEM performance issues. Along with a lot of other advantages, Varnish offers ESI, which is not available on Apache or CloudFront...

 

Seems like visiting modern day technologies might be helpful. I hope you can share a road map for how Adobe plans (if they do) to address these items.

 

David

Avatar

Level 1

Yes, Adobe Experience Manager (AEM) supports using Nginx as a dispatcher server. The dispatcher is a caching and load-balancing tool used in conjunction with AEM to improve performance and security. While Apache HTTP Server is the most commonly used dispatcher server, AEM can also be configured to work with Nginx. 

Configuring Nginx as a dispatcher server involves setting up appropriate rules and configurations to handle incoming requests and cache AEM content effectively. It's essential to follow the guidelines provided by Adobe for setting up Nginx with AEM to ensure compatibility and optimal performance.

Adobe's documentation and community forums are valuable resources for detailed instructions and best practices when setting up Nginx as a dispatcher server for AEM. https://oudel.com

Avatar

Level 1

great sir beneficial article thanks for sharing.    

 

Best Regards

bdwebit