虽然我们可以用webrick或mongrel来部署它为什么我们在部署rails应用程序时需要apache服务器?
回答
大多数Ruby应用程序服务器将只运行一个Ruby进程(并且Ruby有一个全局解释器锁,这使得多线程相当无意义),这意味着它一次只能提供一个请求。至少可以说,这不会给你很好的表现。
有两种解决方法:要么运行多个Ruby应用程序服务器,并在它们前面放置负载平衡器或反向代理,例如, Nginx或Apache在Mongrels或Thin服务器之前(您运行的进程数量反映了您可以并行处理的请求数量)。或者运行Passenger,它是一个Apache或Nginx模块,用于管理可随负载变化而动态增长和缩小的应用程序池。第一个选项为您提供了更多配置选项,但第二个选项更易于管理。你想要哪一个取决于你的用例。
当然还有其他解决方案,但它们适用于更具体的用例。例如,您可以编写一个非常高性能的应用程序并使用Thin进行部署 - 但它需要您编写一个事件驱动的应用程序。您无法部署Rails应用程序并期望获得相同的性能。
你可以在技术上,但你通常不想要,因为这会在提供像css或图像这样的静态文件时带来一点点的开销。
在Phusion Passenger允许使用Apache和nginx托管Rails的情况下,部署Rails应用程序非常可怕且困难。 Apache是一个非常成熟的Web服务器,可以轻松扩展并可配置以满足多种需求。 (nginx并不成熟,但效率非常高,也非常易于配置,是用于rails托管的Apache的一个很好的选择。)Webrick和Mongrel非常适合开发,但除非您是专家,否则很难将其设置为生产用途。
有许多方法可以在不涉及Apache的情况下部署Rails应用程序,但Apache是最流行的服务器,最稳定和可扩展的最成熟的服务器。 WEBrick和Mongrel都有各自的优点,但Apache仅仅是Web服务器的默认假设,并且在大多数情况下是阻力最小的路径。
- 1. 为什么我们需要服务器来运行angular2应用程序?
- 2. 为什么我需要部署“默认”应用程序才能在GCP中部署多个服务?
- 3. 计算机服务器需要什么来部署ASP.NET Web应用程序?
- 4. 我需要什么样的网络服务器应用程序?
- 5. 在apache上部署Rails应用程序
- 6. 为什么或什么时候应用需要服务器?
- 7. 部署Aurelia/Node应用程序时需要什么?
- 8. 为什么Java应用程序需要应用程序服务器来托管?
- 9. 为什么我们需要通用服务定位器库?
- 10. 为什么我们在Selenium Webdriver中不需要服务器?
- 11. 在apache服务器上部署角应用程序
- 12. 在Apache服务器上部署mod_wsgi Hello World应用程序
- 13. 为什么Web应用程序只需要几小时在线服务器?
- 14. 如何在同一服务器上部署Apache,Rails应用程序和phpMyAdmin?
- 15. 为什么我们需要在这个程序中使用服务和工厂?
- 16. 什么时候以及为什么需要HTTP服务器以及websphere应用程序服务器?
- 17. 如何在godaddy服务器上部署rails应用程序
- 18. 在多台服务器上部署Ruby on Rails应用程序
- 19. 在Ubuntu 12服务器上部署Rails应用程序
- 20. 什么是Grails应用程序部署的最佳应用程序服务器?
- 21. 为什么我们需要序列化的Web服务
- 22. Nodejs vs SignalR:为什么我们需要服务器端的JavaScript?
- 23. 为什么我们需要在gRPC服务器上注册反射服务
- 24. 为什么使用JavaFX时,Java桌面应用程序需要特别部署?
- 25. 为什么我在部署Rails应用程序时失败:“sh -c'cd/var/www/releases ...'”?
- 26. 我们应该需要两台服务器,在服务器端
- 27. 在heroku服务器上部署应用程序时,信息流是什么?
- 28. 我想用Mysql作为数据库部署我的rails应用程序。我想要免费的heroku服务器。这个免费服务器有什么限制?
- 29. 为什么我总是需要重新启动Rails服务器?
- 30. 当我试图部署应用程序时,部署失败骡3.4.2服务器