与框架内置服务器相比,使用专用服务器软件有哪些优势?

与框架内置服务器相比,使用专用服务器软件有哪些优势?

作为网络世界的新手,我一直使用 Apache 来开发 PHP 应用程序。厌倦了它之后,我学习了 Node.js、Rails 和 Django——只是为了体验一下当今最常用的网络框架。它们都内置了网络服务器——Django 的服务器专门用于开发目的——我不确定我是否需要专用的服务器软件。即使我需要,那也会是 Nginx——我发现它配置起来更容易,而且听说它在处理高负载方面比 Apache 好得多。

不过,我的问题是:与生产环境的 Rails 或 Pyramid 服务器相比,使用 Nginx 或 Lighttpd 等带有 FastCGI 的 Web 服务器有什么优势?一行调用 Node.js 服务器是否应该用于生产环境(例如,它在工作中表现良好吗)?

简而言之:为什么我不应该使用 Waitress 或 Webrick 或 Node.js 的 http?

答案1

Rails 和 Django 都是开发框架,为了能够处理来自 Web 浏览器的请求,它们需要一个可以执行代码的 Web 服务器。我不确定 Node.js 是否也一样,但我认为它们应该类似。

Rails 和 Django 本身并不是 Web 服务器,但它们在开发过程中使用小型 Web 服务器来简化操作。例如,您可以这样运行:

rails server

并让您的应用程序在 localhost:3000 上运行。对于 Rails,它使用的 Web 服务器称为 Webrick。这些小型 Web 服务器对于开发非常方便,但不应将其用于生产。从安全角度来看,它们不一定经过强化,而且速度也没有优化。在生产环境中,您应该使用 Nginx 或 Apache。

相关内容