Next month, I have to move my company's website from our current 3rd-party webhosting to our own cloud-based server.
I want to use a lightweight webserver. The requirements are:
- PHP support
- HTTPS support
- Virtual domains (we have some domains that will point to the same IP address)
- Actively developed (to patch security issue etc.)
- Runs on Linux (but no need for binary packages; if I have to compile it from source, so be it)
We don't need URL rewriting ability; SEO has approximately zero priority.
Between Nginx, Cherokee, and Hiawatha, can you provide me with the pro's/con's of each?
Or can you recommend something better?
Thanks in advance.
cherokee is actually suprisingly effective. don't let the cartoony (and amazingly convenient) gui make you think otherwise... if you go with nginx, be ready to spend sometime in bed with some (hillarious) russian configuration documentation. that said, it's great.. but no faster - or better - than cherokee. nginx guys maintain an air of seriousness and austerity in an attempt to perpetuate that perception, though, IMO. Hiawatha is a little rough around the edges, and I would say more suited to a portable/embedded application. There are many other options out there too, let me know if you can't find what you want and I can throw a few more ideas out there... but whatever you do.. don't use apache, lol. just kidding. or am i? jokes aside, be ready for some frustration if you grew up with mod_rewrite... there is no quick and easy translation of your vhosts , aliases, etc. to any of these solutions. you get to, REWRITE them.. get it?
I've been using Hiawatha for a few projects and it turned out to be stable and in fact "built with security in mind".
If you prefer a lightweight webserver and are using an OS that got hiawatha in the repo I'd give it a try. Easy to configure and deploy and it got some decent security features
Except this I'm often recommending nginx with php-fpm as it's really fast and rock solid. Besides this it's fairly easy to run php instances under different users with custom configurations and runtime variables.