I want to host my website in my raspberry pi, I've read that I would need a web server software for this. Which one do you recommend? It won't be a complex website.
+1 for Caddy. It's my default webserver and reverse proxy. Built-in Https and the fact that I can get it up, running and configured in a matter of minutes are the main reasons.
Apache, the OG HTTP server.
Fast, well documented, battle-tested, FOSS and community-led (unlike nginx which is corporate-led).
People will tell you that nginx is "faster" but never point to actual benchmarks. Both are ok.
Yeah apache is awesome. Lots of settings if u want, and every question I've ever asked and probably am yet to ask has already been answered on stack with multiple duplicates aha
Check out mod_md - this module allows getting certificates from Let's Encrypt (or any other ACME cert provider) automatically. Just set this anywhere in your config, reload apache and you're set. No more fiddling around with certbot.
Not sure why others are suggesting a Raspberry Pi and nginx would cause problems? I run three public facing websites on a single Raspberry Pi 4 with 2GB RAM. Has been working flawlessly for 2 years. Typical uptime is measured in multiple months.
Running Wordpress, fail2ban and certbot. Booting and running of a USB drive - have considered SSD but no need as I cache to RAM for performance.
I have recently started using Caddy and I love it! FOSS, automatic HTTPS, super easy to setup and works well as a reverse proxy. As your website will not be complex, the Caddyfile would be just a few lines.
If your dynamic pages leverage PHP, Nginx can be configured to support that via FastCGI. If your site has its own server runtime (e.g. a site written with NodeJS or Go), Nginx reverse proxy is literally its strength. So yeah give Nginx a try. I bet you won't regret it.
I always love Flask for this, it's a super simple python web server that is basically fully batteries included, just write a couple lines of python and throw your html in either /static or /templates, depending on whether it's dynamic or not, and you're live. It's not gonna move mountains but it's not meant to.
Much lower and you shouldn't care. As long as you're serving less than one request per second, you will not need to care about performance. If you do, sanic and vibora are drop-in flask replacements and they are both much more performant.
Hosting personal websites on your own hardware is such a pain, and I would imaging doing it on a rpi would be even more of a pain than on x86 architecture. If at all an option I'd recommend hosting on something like github pages or better still on a VPS.
Ah OK, I might have assumed wrong then that running a server on ARM is a little trickier. Never done it. Only ever used nginx for my websites on my VPS. Don't want to deal with the security and uptime headaches of running my websites on my home server.
I hosted websites on my own hardware for 20 years and it worked out well Recently I've been using a VPS, and that has many benefits and drawbacks. Is it worth paying for the VPS? Maybe. That all depends on your situation.
I run 4 websites on my one VPS, and 2 websites on another more restricted cloud container service. Three wordpress, one DICOM server and viewer (radiology image database), one moodle, and one complex git mediawiki setup. Plus some sandbox stuff. Get about 10,000 unique views a day in total across all sites.
I don't know enough about network security to run that safely nor how to get great uptime at home as I run it all single handed and my day job has little to do with computers (am a medical doctor). I do expose some docker apps to the internet that run on my home server but they are only used by friends and family.
When I've needed temporary simple static web pages I've used jekyll on github pages and found it great.