Nginx vs apache

I think it’s time to make NGINX the default server in Virtualmin?

https://w3techs.com/technologies/overview/web_server

1 Like

yeah it does make small difference when you have 1 million wists at precisely at the same time and run server at kind of low specs, if not it’s pointless

There is also some real difference in resources usage, configuration, security and features.
At any rate you want your resources to be used most efficiently for your visitors, and speed to be as fast as possible, whatever your number of concurrent users.

1 Like

That’s not in our plans at this time.

2 Likes

it’s time to make NGINX the default server

oh please no. Not everybody running on a tiny micro resourced server or from home.

1 Like

I’ve run on Pentium 4 and gigs of ram with SSD everything faster on residential line about 88% second server on i5 and 24gigs and 10 tb SSD all bare metal and it’s fast as hell…secure too…if you know what you doing Apache or nginx doesn’t really matter

2 Likes

I could be wrong, but I imagine these statistics are largely a reflection of the rise of Docker and containerized web apps and microservices that predominantly run Nginx, as its reverse proxy and server-as-code features are more applicable to that workload. I do not see that being the case with Virtualmin, at least not without also pivoting towards more support for container management and microservices, but again it doesn’t seem like Virtualmin fits that model very well. Webmin/Virtualmin is simply an extension of the various .conf files for services found on a single server–facilitating a convenient and effective way to configure and manage those services. Microservices and containers aren’t really geared towards being managed in that way, as most containers would be missing all but a small few of the services Virtualmin is designed to manage. Containerized servers and web apps aside, there are a few other good reasons I can think of for Virtualmin to stick with Apache (beyond the old “if it ain’t broke…” adage):

  1. It has been around long enough to be well documented, broadly secured, and free from development bugs.
  2. It is the option most faithful to the principles and tenets of open-source software, with The Apache Foundation being one of the foremost providers and supporters of open-source projects in the world.
  3. It allows per-directory configuration options, which unless I’m mistaken is fairly core to the way Virtualmin handles multiple hosts and/or tenants.
  4. It’s various modules are loaded dynamically, which may be more efficient for a server running a wide variety of workloads.

I’m sure the Virtualmin devs could provide more mission-specific arguments if they chose to expand on this.

To be fair, Nginx has a lot of cool features, it undoubtedly has better performance on high-volume hosts, it’s arguably easier to configure for things like reverse proxies which lends itself more to the modern web app ecosystem, and for things like static site delivery it doesn’t require PHP which might negate some of the security advantages Apache holds over it (along with a much smaller codebase, which is also easier to secure). So I am certainly a fan of Nginx, and I use it widely on my app server. But having used Virtualmin extensively for more than a decade with Apache, and having since dabbled using it with Nginx, I have no desire to replace Apache on my primary web servers. If I had a site with sufficient volume to demand Nginx’s performance gains, I would simply run it on a dedicated server where Virtualmin would be of little use anyhow. For low volume shared servers, Apache still seems like the obvious choice to me.

4 Likes

There is no reason to argue about it. Virtualmin supports both Apache and nginx. nginx is available in the installer using the --bundle LEMP option.

But, we have no plans to switch the default from Apache.

4 Likes

Sorry, “arguments” was a poor choice of phrasing, also apologies if that read like I was attempting to bait you into something (or if anyone else perceives my post as argumentative). I just wanted to express why I thought Apache was/is a good fit for Virtualmin generally. Of course, there are many people with different use-cases than mine (single VPS for shared web hosting for a variety of clients/workloads), and I don’t pretend to know what’s best for anyone else.

Thanks for all you do, Joe!

No arguments. I completely agree @nativeit. Good to have constructive discussions and views. It was what I was eluding to in my post. Each to their own and both have their needs. The containerized web apps do ensure nginx and other variances will be even improved/ updated going forward.

Most of this is because nginx is used as a reverse proxy for Apache.

AdPopulum

But! …
I am glad to see that it’s an easy built-in option now. Like I have a BigBlueButton server to spin up in my future. The last time I did one, it was only written to work via the nGinX way.

How super is this post!!! i totally agree fully! as far as my opinion, +1000 Apache!!!