6 ms·
Poll: What web server do you use?
What web server is your startup using? I've listed the main ones I thought of, add others in the comments to be voted up.
- callahad 16y agoMy startup uses Lighttpd and Nginx, but I tossed in one Other vote for my use of Cherokee on some small personal things. For instance, I'm using Cherokee + uWSGI + poit to run my own OpenID provider.
- deleted 16y ago[deleted]
- buro9 16y agonginx as a load balancer, security layer and reverse proxy cache. Apache on the back end as I'm comfortable tuning it.
- barredo 16y agoCould you add Cherokee to the list? I voted Others, but i'm sure it's more used than IIS among HN users
- rythie 16y agoOk, added
- fictorial 16y agoBeware! For the (currently 3) Node.js users, realize that Ryan Dahl (author) recently said that Node.js should not be directly exposed to the public Internet at this time. http://developer.yahoo.com/yui/theater/video.php?v=dahl-node http://developer.yahoo.com/yui/theater/video.php?v=dahl-node
- jrussbowman 16y agowww.unscatter.com is using nginx for load balancing and soon for static content. You might want to add Tornado as an option as well, as that's the web servers that nginx is proxying in my case. Plus, I'd be curious to see how many others are using Tornado.
- mstevens 16y agoApache, I don't really like it, but it's convenient. I retain a lingering fondness for dan bernstein's publicfile http://cr.yp.to/publicfile.html http://cr.yp.to/publicfile.html but don't actually use it.
- davidw 16y agoFiddling around with mochiweb a bit... Other than that, Apache.
- Ixiaus 16y agoYAWS I've been playing with...
- aarongough 16y agoI think Thin should be added to the list as well, given that many newer Rack deployments are using it...
- mgrouchy 16y agoWe use Apache with ModWsgi and Nginx, pretty standard for a django project.
- bigsassy 16y agoFWIW, I'm using the same setup for my Django site.
- pavs 16y agoI am currently using Apache and its the only web server I ever used, I have looked in to Lighttpd and Nginx but never actually used it. Can anyone tell me why I should use the other two over Apache? The main reason I am using Apache because it has a large user base, community and documentation that I can rely on if I ever need any help.
- ErrantX 16y agoLighty/Nginx are, I found, "nicer" in general. Easier to configure, can handle high loads with a lot less resources, more verbose configuration. All 3 are a reasonable choice though.
- bnoordhuis 16y agoCan't vouch for lighty (though I suppose the same applies) but nginx is much, much faster than Apache. nginx was designed with speed in mind, Apache with reliability[1] and extensibility. [1] Apache's internal API is designed to make it difficult to leak memory or other resources, overrun buffers, etc.
- bmelton 16y agoThe main reason I switched to Nginx is that it uses dramatically less memory than Apache. Running a semi-popular message board, I was eating through 4Gb of memory between Apache and MySQL on Ubuntu, and simply switching over to Nginx was faster and freed up over 1Gb of allocated memory immediately. Since then, I've grown to dramatically prefer its configuration file syntax and usability.
- AdamN 16y agoThe configuration file for Nginx is much simpler.
- JoachimSchipper 16y agoBut note that Apache's memory use (and overal slowness) depends a lot on what modules you use. mod_{php,perl,...} embeds a whole interpreter in each Apache process, which causes lots of overhead, but you don't have to use these.
- uggedal 16y agoNginx and gunicorn.
- wendroid 16y agoMy LAMP is actually OAPP (OpenBSD Apache Postgresql PHP) Though I have been graduallt migrating to LLWP (Linux, Lighttpd, Werc, Postgresql) I might change Werc to Go on the next project.
- ax0n 16y agoChrooted Apache on OpenBSD for my public-facing web servers, thank you very much. Can't sleep. Skript kiddiez will kill me.
- misterbwong 16y agoIIS6. blech. Configuration control is a nightmare with it. I wish IIS had even 1/2 the functionality of Apache or 1/2 the speed of nginx/lighttpd!
- WalterGR 16y agoIIS6. blech. Is IIS 7.5 closer to those targets?
- deadmansshoes 16y agoApache on Windows is a disaster especially for CGI stuff. IIS7 and ISAPI works like a dream in comparison.
- corin_ 16y agoAgree that Apache on Windows is terrible, but IIS7 is still awful compared to pretty much any of the major linux-based webservers.
- WalterGR 16y agoIIS7 is still awful compared to pretty much any of the major linux-based webservers. I'm a few days late on this, but curious: by what measure(s) do you mean that?
- techiferous 16y agoIt's possible to use Apache and Mongrel. In fact, Mongrel shouldn't really be on the list because it can't serve web pages by itself.
- postfuturist 16y agoTornado
- frognibble 16y agoProduction use of Tornado should have nginx or some other server in front of it.
- japherwocky 16y agonginx in front of tornado here
- sirn 16y agoI was using Nginx for static files and a reverse proxy (+balancer) to CherryPy until recently. Now switched to Nginx + uWSGI for everything and couldn't be happier. Nginx is very fast, even when on-the-fly Gzip is enabled.
- dagw 16y agoI'm currently running Nginx+CherryPy and I'm if you'd like to comment on why you switched to uWSGI, what you gained and if you'd recommend it?
- anonymouslambda 16y agoI haven't used CherryPy, but run Cherokee+uWSGI for Django and uWSGI is fast, handles load well, and has a very small memory footprint.
- sirn 16y agoBasically I was running CherryPy with supervisord+memmon since the application is a bit faulty. uWSGI alone can replace the whole stack: it comes with its own process manager, memory monitor and has Harakiri mode to monitor a process that is taking too long to response. Initial setup was super tricky (Nginx in FreeBSD port doesn't ship with uWSGI support and XML config somehow doesn't work, so I have to use Python config which the documentation is lacking) but it has been doing its job ever since. uWSGI is fast, has low memory footprint (a bit above Gevent/FAPWS) and is very reliable by itself. I'd recommend you to at least try it. The uWSGI documentation[1] was what got me interested. [1]: http://projects.unbit.it/uwsgi/wiki/Doc http://projects.unbit.it/uwsgi/wiki/Doc (By the way, I use a patch on this Chinese blog: http://www.indexofire.com/blog/?p=605 http://www.indexofire.com/blog/?p=605 to build Nginx with uWSGI support on a FreeBSD. I made this: http://aur.archlinux.org/packages.php?ID=37857 http://aur.archlinux.org/packages.php?ID=37857 for running on Arch. /shameless plug)
- dagw 16y agoThanks. Installing the AUR package as I'm typing this.
- dpezely 16y agoI've used Hunchentoot (weitz.de/hunchentoot) in production with strong track record. antiweb (hoytech.com/antiweb) also looks promising, but I haven't put anything into production with it yet.
- WalterGR 16y agoDid you use Hunch behind a reverse proxy?
- mahmud 16y agoYes, you always should.
- aidenn0 16y agoCare to explain why?
- mahmud 16y agoLighty, Apache and Nginx have been tested much better to face the wild public, hunchentoot not so much. Hunchentoot's builtin multiplexer is one thread per connection, or one process for all incoming connections: you can customize the taskmaster to be event driven, but then, you will have to write your own load-balancing cruft code to distribute load between processes; something you get for free with a proxy.
- chuhnk 16y agoApache with worker mpm to serve the site. Nginx for static content
- danskil 16y agoHow did you do this? With the voting?
- rythie 16y agohttp://news.ycombinator.com/newpoll http://news.ycombinator.com/newpoll but I had to google to find it.
- SwellJoe 16y agoIt's a "hidden" feature because of the potential for abuse, and the fact that polls are generally uninteresting and low signal-to-noise. The expectation is that people who've been here for a while will know polls exist and be able to figure out how to make one, while new folks who haven't quite grasped the high signal-to-noise and very focused nature of the site won't know it's possible.
- jokull 16y agoPython folks should really check out Gunicorn as a WSGI server. Easy to configure+monitor and decent documentation. gunicorn.org
- paulitex 16y agoJetty
- rubyrescue 16y agoMochiweb
- mastorrent 16y agoFor my Ajax apps I run nginx and Apache simultaneously. I don't like giving up Apache's module-based performance advantages for the application layer, but its memory usage is too high for my VPS if I want to use KeepAlive. I use nginx as the front-line web server and configure it to serve pre-gzipped static content and maintain KeepAlive connections. It then proxies dynamic requests to the Apache server. All makes for a nice low memory footprint :)
- michaelbuckbee 16y agoWhat has really jumped out to me in the comments is just how complex the web stack configuration has gotten to be. It's almost not enough to just say "Nginx", you have to specify if you're using it in front of Mongrel/Passenger/Unicorn, just to serve static content, load balancing, etc.
- deleted 16y ago[deleted]
- percept 16y agoI was surprised to see more Apache usage here vs. nginx (and on the other poll, more MySQL compared to Postgres).
- SwellJoe 16y agoWhy? Apache is, by far, the most popular web server. And, there is very little to complain about, compared to other servers. It isn't like you're missing any functionality in choosing Apache (Apache does more than nginx), or that Apache performance or resource usage is particularly bad. And, most applications simply aren't being limited by the web server. A Ruby, Python, or Perl application, or the database, is going to be the bottleneck in any website that does something interesting. The webserver usually isn't really even a factor.
- tlack 16y agoI'd suggest that most people who switched to nginx from Apache did, in fact, notice a huge decrease in load. Otherwise why would anyone make the switch and stay with nginx? It's a risky proposition. Personal anecdote: on a very popular blog that I run, experienced massive performance boost switching from Apache to Lighttpd, and load dropped as well.
- SwellJoe 16y agoThat would surprise me greatly. I've seen Apache side-by-side with nginx. In a similar configuration, Apache isn't much slower, and doesn't use a "huge" amount of additional resources. Yes, it's bigger per-process by a few MB (which admittedly does add up, in very high load environments), and it's a little slower, but unless you've configured Apache in a dramatically different way (such as running mod_php in Apache vs. an fcgi configuration under nginx) the differences simply aren't "huge" or "massive". So, is nginx faster and smaller, in general, than Apache? Yes. But, by a "huge" or "massive" margin? Unlikely. Unless, of course, you've got a pathological configuration or one that is tuned for other priorities (like security in a shared hosting environment, for example, or other areas where Apache clearly outclasses nginx in terms of capabilities). I'm just saying it's not a big deal that Apache is as popular as it is, and if anyone is suggesting changing web servers as the first, second, third, or fourth area to tackle when performance is an issue, it's probably bad advice. The application or the database are almost certainly where your attention should go first.
- eberfreitas 16y agoNginx
- brolewis 16y agoReading the comments, I noticed that Cherokee was added after the poll started. I wonder how many Cherokee users voted "Other". I, for one, am a Cherokee user and a big fan. The admin interface is easy to use and I love that its written in Python. As a Pylons developer, I also love that uWSGI is built right into the system.
- rythie 16y agoI added it pretty soon after, so not many I think
- brolewis 16y agoSadly, I had a feeling that might have been the case. As stated before, I think Cherokee is a great product that just doesn't have the popularity other projects do.
- rythie 16y agoI'd never heard of it before this poll and I've looked a few times at alternative webservers and have been using Lighttpd for the last 3 years.
- dgriff1 16y agoCherryPy because its easy to ship to people
- justin_vanw 16y agoWe use Apache mod_wsgi with Nginx in front of it as a reverse proxy and static file server.
- reynolds 16y agonginx in front of cherrypy wsgi server. I don't use the cherrypy web framework, however.
- corin_ 16y agoPained me to have to click IIS because half my company's servers are Windows :( Other half, and my personal servers, are Apache/Nginx
- kogir 16y agoI use IIS 7.5 for http, tcp, and message queue serving. It's fast and simple. If the last IIS you saw was 6, take another look. It can even host PHP and Python apps (we run trac in it) with fastcgi.
- barrydahlberg 16y agoIIS definately became a whole lot less awful between 6 and 7.
- Kilimanjaro 16y agoGoogle AppEngine
- vmann 16y agoI'm surprised this wasn't one of the choices offered. I'm also using this, and often wonder why it's not more popular.
- herf 16y agolibevent2 and threaded C++ for one project. The http stack seems nice and easy to use, and you get an async http client too. (Server can also run as fastCGI.) Currently I'm proxied by nginx for sanity reasons, but the lack of keepalives to the backend server is a serious problem (under load, you have zillions of sockets waiting to close). Would be a nice thing for nginx to add.
- gordonguthrie 16y agoMochi web (used to be Yaws) with nginx in front of it
- codesink 16y agoappsnap backend: nginx -> klone -> image matching server
- rekoros 16y agoYaws!
- bensummers 16y agoJetty.
- kellishaver 16y agoI really like Nginx, but my current setup is Apache for no specific reason other than that it was already there and very familiar to me. The sites I'm running don't pull enough of a load that memory usage matters at this point.
- mahmud 16y agoHunchentoot, behind lightty.
- democracy 16y agoApache HTTP or Apache Tomcat?