4

I am a complete beginner and am planning to setup a photo sharing site. This is the setup I am planning, basically for a start - - Cherokee (instead of Apache) for serving dynamic content (python-based application), and Nginx for serving static files.

Since, I am a beginner, what have I, to lose? So, can someone, from your experience, please tell me, what I'd lose by choosing Cherokee over Apache for serving dynamic content in PHP/Python/whatever?

Anything other than the fact that there's lot of documentation, many people who can help when there's an issue etc as Apache is well established and the most popular web server?

Again, my intention is not to spurt a flame war here. Just wanted to know if Cherokee would be better than Apache in terms of performance, reliability, and speed, when it matters (peak load times). Also, I heard it's a lot faster than Apache in serving dynamic content, is it true?

UPDATE: In another scenario, can someone kindly suggest a dynamic content web server for busy websites the size of Picasa, flickr, or YouTube? Building my website on top of that, I believe would ease the scaling of my photo & video sharing website. This is kinda subjective, but this is not the main question, although I would love to have some clarification for the same.

2
  • Have you considered using nginx for dynamic content also? Since it's just passing requests off to Django, whichever web server you use.
    – Cyclops
    Nov 13, 2011 at 12:54
  • No. Since, Cherokee has a graphic interface for tweaking configuration, and Nginx neither has that or enough documentation (I guess?), I chose Cherokee for serving dynamic content and left static content to Nginx (as for static content, I don't have to tweak Nginx a lot). I hope this is not foolish.
    – user88753
    Nov 13, 2011 at 13:02

1 Answer 1

4

Cherokee has proven to be a good server, faster than Apache. I can't speak towards how it scales, but for the most part, it seems to be more responsive for small-medium sized sites at least. The major thing with Cherokee is that I don't think there's a reasonable equivalent to the .htaccess files that apache uses for per-container/per user settings. If this isn't a requirement, then jump right into Cherokee.

The other major thing you're missing out has nothing to do with the software directly, but rather the support and answers available to you for problems you may run into along the way. Apache is old, established, etc.... and as such, you can find a plethora of help, and ideas for how to solve various problems and so on. There's no way you'll find as much for Cherokee. So in short, your support resources are likely better for Apache

11
  • Do you think Apache is working on improving its performance to get competitive with other webservers? The C10K limitation, process threading etc., are they going to change?
    – user88753
    Nov 12, 2011 at 22:33
  • 1
    +1 Apache in incredibly versatile. Because of this versatility, it's slow. I commonly say Apache is good at everything, great at nothing. That said, Apache is more than enough to run all but the busiest websites; and those sites commonly write/extend their own stuff. Be very careful underestimating the size and importance of the community when choosing a web server; similarly the documentation (::cough:: nginx has almost none ::cough:: Apache's docs are renown for completeness). Apache 3.0 was supposed to address many issues, but it's been "almost here" for years.
    – Chris S
    Nov 13, 2011 at 1:42
  • @Chris S Thanks for the advise. So, Apache for dynamic content (with PostgreSQL for DB) + Nginx for static content - - will this scale enough to serve busy websites? Websites the size of Flickr, Picasa and YouTube? what would be your suggestions for such busy websites? (Yes, please consider it that way.)
    – user88753
    Nov 13, 2011 at 8:36
  • 1
    Starting from zero that takes years.
    – TomTom
    Nov 13, 2011 at 15:10
  • 1
    @BadLearner Yes, Apache and Nginx will get you a long way into creating a large and successful website. It's possible to scale a solution based on them to something the size of the websites you mentioned; it's just generally inefficient at that scale, so it's not commonly done (websites that size had the budget to hire teams of people to create more efficient services). Also static content should get moved to a CDN at some tipping point. There's no single methodology that's appropriate for both very small and extremely large websites, might as well learn the small/medium methods first.
    – Chris S
    Nov 13, 2011 at 19:05

You must log in to answer this question.