[英]How to Deploy Rails App to AWS
我正在尝试在具有EC2实例以及apache和mysql的AWS云中托管Rails应用程序。 我在这里上传了我的应用程序,但无法将其与IP绑定。 对于测试,我正在使用此博客文章https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-unicorn-and-nginx-on-ubuntu-14-04作为参考。 当我尝试运行此命令时:
RAILS_ENV=production rails server --binding=server_public_IP
我收到此错误:
/home/ubuntu/.rbenv/versions/2.2.3/lib/ruby/2.2.0/socket.rb:206:in `bind': Cannot assign requested address - bind(2) for 52.24.103.139:3000 (Errno::EADDRNOTAVAIL)
有没有人可以帮助我了解这是什么问题以及如何在AWS apache上部署它。
在AWS中,未直接为计算机分配IP,即使用NAT对其进行路由。 因此,您不能使用公共IP直接启动Rails服务器。
要启动服务器,只需在没有绑定参数rails s production
情况下引导它即可
或者,您可以使用0.0.0.0
绑定服务器,这将在所有接口上启动rails。
提示:对于生产环境,理想情况下,您应该使用某些Web服务器(例如nginx / apache和passenger / unicorn)使用服务器
从错误看,它说它无法与ipadd 52.24.103.139:3000
绑定
我建议它打开“ custom TCP port 3000
”并尝试再次运行相同的东西。
可能是您的应用程序在端口3000
而不是80
。 希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.