I am building an ARM based embedded device running embedded linux having a web based interface and I need a webserver running on my device. At maximum it will get 50 requests at a time. I have on board 1 GB RAM. I will also need HTTPS. The webserver should not consume too much memory (of-course as its an embedded device). It should support dynamic contents (so I guess Boa is out). My website should also be able to support HTML5. Following are some of the options I have looked into but open to suggestions.

  • lighttpd
  • nginx
  • Hiawatha
  • thttpd
  • Boa

Any feedback / input / pointer is welcome

closed as not constructive by Ignacio Vazquez-Abrams, Mat, Michael Mrozek Jun 2 '12 at 6:06

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

  • What else do you need the 1GB or RAM for? – Ignacio Vazquez-Abrams May 29 '12 at 5:29
  • A webkit based browser – Farrukh Arshad May 29 '12 at 5:38
  • There will also be some services for some peripheral devices. The system will not have too many request at any single instance of time (50 requests is more than THE WORST case scenario, I will be glad if I get such load). Actually I am creating a concept like Web Applications (i.e Chrome apps), this webserver will host and show such apps. The server will communicate with another server that is accessible over internet. It may (not sure yet) have a sql database (mysql, sqlite etc). The hardware is iMX6 Processor based (Cortex A9 Quad Core), GPU, 1GB RAM. – Farrukh Arshad May 29 '12 at 5:43
  • You should also check micro_httpd, I have a small router running this webserver and it works fine. – altmas5 May 29 '12 at 14:52

I would recommend Nginx. It can use very small amounts of memory (depending on modules loaded) and can cooperate nicely by FastCGI with PHP or other dynamic scripting languages. It is little harder to understand its initial configuration as Lighttpd. Nginx is also good with HTTPS, but also here FPU is even more important because crypto is pure floating point math. HTML5 is just format of the static pages served, so all webservers support it.

Does this CPU have a FPU (support for floating point aritmetics), as this is quite important for databases. MySQL/SQLite would run quite slow without FPU when all floating point operation would have to be emulated.

  • So far as per my research I am nearing down to Nginx, Lighttpd. But memory leaks of Lighttpd seems trouble to me. What do you think about Hiawatha ? – Farrukh Arshad May 29 '12 at 8:39
  • Sorry, I don't have any experience with Hiawatha... – Marki555 May 30 '12 at 5:36
  • Thanks a lot. Any comments on the server side scripting language, python, lua or php ? – Farrukh Arshad May 30 '12 at 6:07
  • Depends on the task you want to program and on the languages you can use :) – Marki555 May 30 '12 at 11:28

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