I will use a Raspberry PI as a server to run python scripts from an ethernet connected Arduino (to encode short ip camera videos, send notifications through the internet and sync files to dropbox, for example).

Thinking about using Python's 3 http server to run the scripts as CGI, but would like to know what would be the advantages of running Flask, Web.py, Bottle or even Apache instead.

I would like to keep it as simple as possible, and even try to run AirPlay as a background process in the Pi, if possible.

  • Apache is called a-patch-me and is bloaty and memory intensive for Pi, even for simple PHP script it uses too much memory and CPU. What about nginx (engine-x) ? That is really fast.
    – Piotr Kula
    Feb 27, 2014 at 15:24
  • 1
    @ppumkin I'm not a huge fan of apache, but to be fair, according to most surveys, Apache has something like 40-60% of HTTP market share (meaning: more www sites use apache than all other web servers put together)<1>, <2> -- those people are not all just fools and idiots. There is not much objectively wrong with it (it is not "bloated" or "memory intensive, relatively speaking), and it will easily run within the constrainsts of the pi...
    – goldilocks
    Feb 27, 2014 at 23:32
  • ...that said, it is not simple to configure and definitely overkill for this purpose. You're presumably not going to be dealing with a lot of concurrent requests, etc. Just use the simplest thing; presumably whatever is built into python 3 is exactly suited to small scale, low traffic things such as this.
    – goldilocks
    Feb 27, 2014 at 23:38

1 Answer 1


I'm using Flask and the http server built into Python 2. Seems more than adequate for my light demand. And I can also run Shairport as daemon, CPU usage is never higher than 80% so far.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.