嗨,我过去半年一直在学习rails,并且在Heroku上有一些应用程序.所以对我来说,我认为将应用程序部署到万维网上就像这样简单heroku push.不过,我只是得到我的第一次实习做Rails和我的前辈的人在谈论Apache和Nginx的,我不知道他们是如何适应的图片,因为我想应用程序只包括滑轨+云应用程序平台.我查了一下,但我仍然没有得到它影响我的应用程序生命周期的方式和位置.有人可以解释使用Web服务器的时间/地点/时间吗?
Mic*_*ins 20
所以你已经拥有了你的Rails应用程序,而且你知道你已经拥有了控制器,操作和视图以及没有.
当浏览器中的用户访问Heroku上的应用程序时,他们会输入指向Heroku服务器的URL.
Heroku服务器是一个Web服务器,可以监听您输入URL的用户并将它们连接到您的Rails应用程序.rails应用程序可以完成它的任务(获取博客文章列表或其他内容),服务器会将此信息发送回用户的浏览器.
你一直在使用网络服务器,只是它从你身上抽象出来,并且由于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等),后者又执行所需的工作并将响应发送给Apache/nginx,后者将其发送回客户端.
Heroku在一个易于使用的包中为您完成所有这些,但它听起来像您自己管理的地方,而不是使用Heroku.他们已经设置了自己的一堆Web服务器,并且将以自己的方式执行相当的操作heroku push,将代码发送到服务器,并确保它们已准备好响应用户请求.
希望有所帮助!
网页需要一个Web服务器,以使其在Internet上可用。
因此,一个全是静态内容的站点(全都是.html页面)只需要一台Web服务器,这就是Apace,nginx等进来的地方。它们就是Web服务器。
当您使用Rails之类的框架时,会添加一个附加组件,即应用程序服务器。这将使用rails框架对页面进行预处理,然后(仍然)使用上述Web服务器通过最终用户的浏览器使最终页面(当然是.html)可用。
Passenger Phusion是一个应用程序服务器,带有导轨,将有助于管理和自动化代码部署。
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |