jot*_*ttr 1 ruby-on-rails nginx amazon-ec2 amazon-web-services docker
我有一个带有rails应用程序和puma app服务器的容器,正在侦听端口3000.
此容器将部署到amazons ec2容器服务(ECS),并应通过ELB自动调整和负载平衡.
如何nginx的(如果有的话)融入了吗?我还需要吗?
如果是,我应该将它打包到rails容器中,还是应该创建和部署与nginx一起打包的单独容器实例,然后提供反向代理功能?
Nginx是一个反向代理,非常适合处理Rails应用上游的内容.示例包括防止垃圾请求首先到达您的Rails应用程序并提供静态资产.在没有像Nginx这样的反向代理的情况下,在生产中投放应用程序几乎绝不是一个好主意.最重要的是对于你的问题,ECS和其他任何地方一样 - ECS只是运行容器,默认情况下不会在它们前面进行任何反向代理.
Docker样式是每个容器有一个运行进程.有很多理由说明为什么这是一个好主意,超出了本答案的范围,但为了简短起见,这使得管理容器和让容器知道何时更简单.
所以,我们知道您希望Nginx在Rails应用程序前运行,并且我们知道您希望每个容器有一个进程,因此在您的情况下有两个容器是有意义的 - 一个运行Rails应用程序的Puma服务器,以及其他与Nginx.然后,您可以链接两个容器,以便它们可以进行通信.最后,您可以将您的ELB转发请求发送到Nginx容器,然后根据需要将它们转发到您的Rails应用程序,瞧,您已经完成了.如果您正在寻找更多详细信息,请参阅此Amazon ECS教程中解释的非常相似的架构.
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |