A few years ago I moved from a nailed down Apache "Webspace" to a self-hosted nginx server on a virtual debian instance for 3.50 Euros a month.
I had to learn a bit about Webserver configuration and best practises and have to adjust every now and then, but in hindsight I should have done that earlier. Before I constantly had to renew certificates manually (and the old hoster wanted not exactly little money for it) — now I can just use Let's Encrypt with automatic renewal.
Before I was limited to whatever my webhoster would allow to run (which was basically only PHP), now I can run whatever I want behind a nginx reverse proxy.
I use Nginx either on my basement server (I have 50/50 fiber internet at home) or I use one of my digital ocean droplets, which can be as cheap as 5$ a month, that is less than my server at home uses in power. A Raspberry pi would also suffice if there is not too much traffic I guess, that would cost you about 10€ a year in power. Running a whole server means there is no limit to the amount of sites you can run (apart from memory and bandwidth of course.)
Both my servers (DO vps and basement) run Ubuntu 16.04, I use PHP-fpm for PHP, domains I purchase at a local registrar (.nl domains are about 10€/year), for ssl I use lets encrypt. For simple sites I always use Bootstrap for the css.
FTP is implicit if you count SFTP as FTP (FTP over SSH). Under Linux SFTP is mounted as easily as any network share.
At home I run a Nextcloud instance and share some directories as Nginx roots, that means I can locally (even on my phone) edit a static web page and it is synced immediately to the webserver's root folder. This can be quite convenient.
All I remember about setting up nginx, is that it was a huge nightmare in terms off the configuration whereas installing apache was pretty easy. This seems even easier.
I started using lets-encrypt before it supported Nginx (using standalone mode). I recently tried the Nginx-based mode, and it wrecked my reverse proxy config pretty thoroughly.
Still, the stand-alone mode is pretty dang easy. I've also considered the /.well-known mode but there was some tiny snag.
Does not surprise me. I use NGINX in unison with Apache and it allows me to get maximum performance out of my $25 Linode VPS plan without having to scale up and spend more money. Definitely the best thing to happen to the Internet since Apache.
For my self hosted setup I've shifted to Caddy and not bother about setting up crons etc for SSL. It's just so much nicer to have the Reverse Proxy handle that for you automagically.
And the config file is just 2 lines to reverse proxy instead of 20+ equivalent in NGINX.
Thanks. This makes a lot of sense, and matches what I saw myself. I never got anything out of nginx, but I found apache quite easy. I never built more than a POC, and left it at that.
I didn't think about it at the time, but it was only on a newly started apache instance.
Coupled with the fact the apache as a frontend tls server is pretty rare on big sites nowadays, I'm feeling pretty good about what did happen, vs what could have happened.
I've used Apache forever and have always been able to tune it to get the job done. The thing that made me switch to nginx was the ability to use more than one SSL cert on the same IP. Now that I was "forced" to try it, I'm pretty happy with it.
I really take for granted how well Nginx works across a number of web backend functions.
Some of the container/orchestration world has tried to supplant the need for it as a reverse proxy, but you get so many goodies out of the box just by sticking this in front of your app, and for very little overhead.
I remember the pre-Nginx days and all of the struggles people routinely ran into with options like Apache or other reverse proxy tools.
I find it easier with Nginx. Certainly feels easier than I remember back around 1999 with Apache. Also there's way more information out there on how to configue and set up than there was twenty years ago.
This was exactly my experience. I learned Apache and knew how to configure it. But once I tried Nginx I never wanted to fuss with an Apache config again.
I've used something similar before, gave up on it. I just use Nginx manually now, so much more room for customization, plus I know where everything is because I set it up.
I was talking about installing Apache and setting it up as a reverse proxy vs. installing Nginx and setting it up as a reverse proxy. Nginx takes less configuration in that scenario. I've done both and neither are hard, but nginx is slightly easier.
I set up my own version of both neverssl and icanhazip, with nothing but Nginx on a cheap VPS. I already had the server up for other purposes, and I feel better knowing that I'm not mooching off of other people's effort (and money).
Dropping a new nginx binary and live-migrating to it takes as much time as doing the same on Apahce with a new .so
Have you ever actually used nginx? I compile it from source with much-less-than-everything for security reasons (e.g., no proxy, no email, no ssi, no ssl, not any of the other ten modules that come by default), and in the 3 times that I needed a module later, it was a quick ./configure;make;make install;kill -SIG2 (or whatever the signal is to switch to a new version), which was not more painful than I remember from my apache days of 5 years ago.
I had to learn a bit about Webserver configuration and best practises and have to adjust every now and then, but in hindsight I should have done that earlier. Before I constantly had to renew certificates manually (and the old hoster wanted not exactly little money for it) — now I can just use Let's Encrypt with automatic renewal.
Before I was limited to whatever my webhoster would allow to run (which was basically only PHP), now I can run whatever I want behind a nginx reverse proxy.
reply