You are here
High Performance Communities: Choosing a Software Stack
High Performance Communities: Choosing a Software Stack
So, your forum needs a new home. You buy a cheap dedicated server with a few frills - RAID 1 keeps you warm at night - and plan to setup shop. If you went the way of the VPS world, you might be more familiar with one form of server or another, but all that does is push the decision earlier. You need a server, you need it soon, and you need to know what it's going to run.
The term 'software stack' does not refer to your community script (vBulletin, phpBB, Mediawiki, Wordpress, Drupal, Joomla...), but rather the software configuration that powers it - Operating System, Webserver, Database, and Language. The software tends to decide issues of language and database, so I'll be glossing over the former two here, instead.
Many new to server administration are familiar with Windows and/or Macintosh machines, and fondly remembering the ease of use of these operating platforms, look for a Windows server or Xserve machine, assuming that said ease of use carries over into the world of Internet servers.
Control panels mitigate this issue somewhat, but it is still an issue. Unless you are specifically working with an ASP.Net or are familiar with actual Windows Server administration, you are going to have an easier time managing *nix servers. Even Apple's tweaks to XServe can throw a serious wrench in expectations - if you're not familiar with launchd, for example, you will find yourself stymied by a fair amount of advice.
Beyond the Operating System debate, there is the choice between the presence or lack of a control panel. I generally prefer plain Debian installations myself, but if you prefer web control, or are going to be giving account access to less technically inclined members, you might want a control panel like cPanel to help make managing your server significantly easier.
While I might prefer Debian, if you're not familiar with the shell, you will want to grab a Debian or Ubuntu iso and play with it yourself, on a machine of your own, to see how comfortable you can get with it. Control panels are popular for a reason - to the point where some people are surprised I don't use one here - and there is no shame in focusing your learning time on other endeavors.
If you're using a control panel, chances are the only decision it's going to give you is between which versions of Apache. If you're forced to use it, you will find that although mpm_prefork is faster, mpm_worker is actually more scalable.
Hopefully, the Apache team will bring mpm_event up to par so that it actually holds a candle to nginx, but right now, it doesn't. nginx is faster, uses bandwidth more efficiently, is less memory intensive, and has far superior FastCGI handling than Apache. It's not hype - it's not even a contest.
A good portion of my next blog entries will actually go over the construction, securing, and tuning of a fully-fledged Debian Lenny server stack, which on this tiny server peaked at three million php requests per day.
Yours can too. : )
- Vekseid's blog
- 3036 reads
Add new comment