Hacker News new | ask | show | jobs
by experimental 5545 days ago
"Nginx uses an asynchronous event-driven approach to handling requests which provides more predictable performance under load, in contrast to the Apache HTTP server model that uses a threaded or process-oriented approach to handling requests."

Does this mean if a crash occurs, the whole process of nginx will crash? Whereas Apache's processes can be restarted?

/Genuinely curious

1 comments

Nginx uses a configurable, fixed number of worker processes, handling many connections per worker process. This allows Nginx to maximize throughput on any variety of multi-processor and/or multi-core configurations.

If one worker dies, any of the connections it's handling will close, but connections associated with the other worker processes stay alive. I'm not 100% sure, but I believe the master process will restart a worker if it dies.

All that said, I've never seen Nginx crash (except when playing around with an experimental third-party module - but never in production). For any production server, you should be using some form of monitoring daemon that will alert in case of a failure and automatically restart the web server process.

Cool thanks for the information.
why is your handle green?
I have no idea.
Usernames under 5 days old are green; part of PG's experiments on Hacker News to prevent dilution of the community.

See http://news.ycombinator.com/item?id=2434333 and http://news.ycombinator.com/noobstories