Ruby Pow/Phusion乘客/Webrick如何工作?

Ruby Pow/Phusion乘客/Webrick如何工作?,ruby,webserver,passenger,webrick,rack-pow,Ruby,Webserver,Passenger,Webrick,Rack Pow,我来自一个PHP和.NET世界,在那里我非常了解环境。然而,我找不到一个新手解释Ruby/RubyonRails堆栈如何与这些web服务器一起工作 它们是否更接近PHP模型,在PHP模型中,应用程序的所有类都是每个请求的加载器,并且没有默认的共享内存,还是像应用程序服务器一样,活动应用程序位于内存中并处理请求 当文件更改时,如何重新加载?应用服务器中的应用程序是否必须重新启动?它怎么知道?它监控文件系统吗 我已经看到,在OS X/Linux上,Ruby版本管理器(rvm)和37signals中较

我来自一个PHP和.NET世界,在那里我非常了解环境。然而,我找不到一个新手解释Ruby/RubyonRails堆栈如何与这些web服务器一起工作

它们是否更接近PHP模型,在PHP模型中,应用程序的所有类都是每个请求的加载器,并且没有默认的共享内存,还是像应用程序服务器一样,活动应用程序位于内存中并处理请求

当文件更改时,如何重新加载?应用服务器中的应用程序是否必须重新启动?它怎么知道?它监控文件系统吗


我已经看到,在OS X/Linux上,Ruby版本管理器(
rvm
)和37signals中较新的
rbenv
都使用了
Ruby
命令。这对我来说简直是个魔术。Web服务器是否只运行
ruby
命令,而不关心解释器在
$PATH
中的解析位置?

Webrick是Rails的默认服务器,通常用于开发和测试。 Rails和PHP一样是基于会话的。如果您想在生产环境中运行,您通常会在Apache或Nginx上使用Phusion Passenger,暂时不要担心这一点

若您在开发或测试环境中运行,那个么您可以编辑应用程序文件(视图、控制器和模型),并且它们将在每次请求时重新加载(即使它们并没有被编辑)

看一看如何生成一个项目,并使用Rails进行scafolds以帮助您开始


谢谢您的回答。但问题是,我已经在Rails上构建了一些应用程序,但我并不了解这一点,所有的“入门”指南都涉及到一些典型的简单内容,比如生成一堆类……在这种情况下,也许是时候在Passenger上连接mysql并在生产中运行Rails了,或者用你的php知识构建一些你自己制作的东西,ruby应该很容易找到。如果您在理解应用程序的结构方面遇到困难,那么现在是时候准备好模型-视图-控制器设计模式以及它们在Rails中的工作方式了。Ben,我对编程概念没有任何问题,我只想从unix背景开始更好地理解堆栈。有一篇关于另一个名为Unicorn的服务器的精彩文章。请在以下位置拾取:。希望它能帮助您更好地理解ruby托管基础架构。