所以你已经有了 Rails 应用,而且你知道你有控制器、动作和视图等等。
当用户在浏览器中访问您在 Heroku 上的应用时,他们会输入指向 Heroku 服务器的 URL。
Heroku 服务器是一种 Web 服务器,用于侦听您的用户输入 URL 并将他们连接到您的 Rails 应用程序。 rails 应用程序会做自己的事情(获取博客文章列表或其他内容),然后服务器将此信息发送回用户的浏览器。
您一直在使用 Web 服务器,只是由于 Heroku,它已从您身上抽象出来并变得超级简单。
所以生命周期有点像这样:
当您在开发机器上构建应用程序时,您可能遇到过rails server 命令。这将启动一个名为 WEBrick 的程序,它是一个 Web 服务器,并侦听端口 3000。您可以通过 http://localhost:3000 访问您的应用程序。
WEBrick 监听 3000 端口并响应用户的请求,例如“嘿,给我一个帖子列表”命令。
当您将代码推送到生产环境时(根据您的经验,通过 heroku push),您将代码发送给一个提供商,该提供商会为您处理相当于 rails server 的生产环境。
生产设置(您的高级开发人员正在谈论)比您在开发机器上的本地 rails server 设置要复杂一些。
在生产中,你有你的 Rails 服务器(通常是 Unicorn、Passenger 之类的东西)来代替 WEBrick。
在许多生产设置中,还使用另一个服务器,例如 Apache 或 nginx,并且是用户在访问您的应用程序时连接到的服务器。
这个服务器通常作为一个路由器存在,用于确定应该如何处理不同类型的请求。例如,对存储在服务器上的静态文件(css、图像、javascript 等)的请求可能只由 Apache 或 nginx 直接处理,因为它在将静态资产发送回客户端方面做得非常出色(而且速度很快)。
其他请求,例如“获取所有博客文章的列表”,被传递到 Rails 服务器(Unicorn、Passenger 等),然后由 Rails 服务器完成所需的工作并将响应发送给 Apache/nginx,后者将其发回给客户。
Heroku 在一个易于使用的软件包中为您完成了所有这些工作,但听起来您工作的地方自己管理这一切,而不是使用 Heroku。他们已经设置了自己的一组 Web 服务器,并且将以自己的方式执行相当于 heroku push 的操作,它将代码发送到服务器,并确保它们已启动并运行准备好响应用户请求。
希望有帮助!