gardar's picture

Why are most of the Turnkey web based appliances based on Apache rather than nginx? (wordpress, owncloud, etc.)


Any techical reasons or just old a habit?

Apache is a heavy beast and I'd think nginx would be a better fit in lightweight Turnkey appliances.


I would definately use Turnkey more often if all those appliances came with nginx rather than apache.


I apologize if this question has been asked and answared before, I did a quick search but wasn't able to find any related discussions.

Jeremy Davis's picture

There are a number of reasons why we have stuck with Apache. However, none of them are really deal breakers IMO.

As you note, Apache isn't the lowest resource usage server, and isn't necessarily the best choice in every application. Our rationale for continuing to use it rests on these points:

  • Apache is one of (if not the) most mature webservers around and it remains the most popular by far. Although over the last few years it's rapidly losing marketshare to Nginx.
  • Apache is arguably the most versatile and best "all-rounder" webserver. There are tons of different modules available for it which means it can be configured to do things that other webservers either can't do, or can't do easily.
  • Probably because of above, Apache is one of the best documented webservers.
  • Again probably because of the above, almost all upstream software provides instructions for Apache config (some even includes default Apache config so it just works OOTB). As time goes on (due to the rise in popularity of Nginx no doubt) more and more upstream projects are also providing Nginx config.
  • Apache is the only webserver which has a supported Webmin module. There is an unmaintained third party Nginx Webmin module which appears to work, however unless we do a solid code audit on it, we aren't keen to include it (and maintain it ourselves). As we attract a lot of newbs, I anticipate that using a default webserver that doesn't support Webmin UI config will result in lots of support requests.

    But despite all that, we have still considered the possibility of moving to Nginx as default. At least for as many appliances as it would support. At this point though we do not have any immediate plans to change.

    Once we move to our new container design, things will be much easier. If it goes the way I hope (and am pushing for), users would be able to choose which webserver to use, rather than just having to use whatever we decide should be default. That is still a fair way away though, so don't hold your breath! :)

  • Add new comment