Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Elastic Beanstalk如何启动Ruby on Rails应用程序?如何调试它?_Ruby On Rails_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Ruby on rails Elastic Beanstalk如何启动Ruby on Rails应用程序?如何调试它?

Ruby on rails Elastic Beanstalk如何启动Ruby on Rails应用程序?如何调试它?,ruby-on-rails,amazon-web-services,amazon-elastic-beanstalk,Ruby On Rails,Amazon Web Services,Amazon Elastic Beanstalk,我使用的是Ruby Puma 2.5实例,对此我还很陌生。我已经创建了一个新的rails应用程序,所以这里没有什么特别的内容,只是正确的欢迎页面路径。当我执行eb部署时,rails应用程序被正确部署到/var/app/current,但是没有运行rails进程!如果我将用户更改为root(仅作为测试),将目录更改为该目录并运行rails服务器-p3000,则该页面可用并按预期工作。那个么,我如何调试EB以找出应用程序未启动的原因,或者如何自动启动它?我很好奇EB是如何做到这一点的,例如,从正确的

我使用的是Ruby Puma 2.5实例,对此我还很陌生。我已经创建了一个新的rails应用程序,所以这里没有什么特别的内容,只是正确的欢迎页面路径。当我执行
eb部署时
,rails应用程序被正确部署到
/var/app/current
,但是没有运行rails进程!如果我将用户更改为
root
(仅作为测试),将目录更改为该目录并运行
rails服务器-p3000
,则该页面可用并按预期工作。那个么,我如何调试EB以找出应用程序未启动的原因,或者如何自动启动它?我很好奇EB是如何做到这一点的,例如,从正确的目录运行
rails server
的脚本在哪里,以及使用选项(例如
-p3000
)的正确操作方式是什么。非常感谢有人能指出正确的位置并更好地理解这一点。

您无需登录Elastic Beanstalk的后端实例(EC2实例)即可手动启动Ruby on Rails服务器。使用Elastic Beanstalk console或AWS CLI或EB CLI部署应用程序后,将执行实例中的一些脚本以进行部署过程。脚本用于启动Rails服务器

除了
eb日志
,您还可以转到Elastic Beanstalk控制台下载部署日志。日志从后端实例检索,是目录
/var/log
的捆绑,这意味着捆绑日志的内容与系统中的日志相同。有关更多详细信息,请参阅本文档:


eb日志
可能会告诉您应用程序失败的确切位置。我认为EB将尝试执行development./production.rb文件。因此,只要相关配置文件中有
3000
,应用程序就应该按预期加载到
3000
。此命令帮助我查看与Rails相关的问题(当我执行
eb部署时):
tail-f-n0/var/app/containerfiles/logs/*.log/var/puma/puma.log/var/log/eb*.log/var/app/current/log/*.log
这个命令还帮助我查看Rails是否正在运行
curl--unix socket/var/run/puma/my_app.sockhttp://localhost
。因此EB会自动尝试使用
puma
gem启动Rails,它应该在
Gemfile
中,然后不是通过TCP,而是通过Unix套接字。