Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 作为守护进程启动时无法重新启动生产rails服务器_Ruby On Rails_Ubuntu - Fatal编程技术网

Ruby on rails 作为守护进程启动时无法重新启动生产rails服务器

Ruby on rails 作为守护进程启动时无法重新启动生产rails服务器,ruby-on-rails,ubuntu,Ruby On Rails,Ubuntu,我在Ubuntu EC2实例上运行rails服务器,在部署(和重新启动)我的服务器时遇到了问题。奇怪的是;当我启动一个普通服务器(rails服务器)时,一切似乎都正常工作,但当我作为守护进程启动服务器时,它不会重置(rails服务器-d) 我使用Capistrano进行部署。据我所知,没有问题;它拉下我的最新分支,运行迁移并触摸tmp/restart.txt。我曾尝试将我的tmp/restart.txt作为一个共享文件,但这似乎不是问题所在(尽管我认为这是一个配置,我会保留)。在发现Capist

我在Ubuntu EC2实例上运行rails服务器,在部署(和重新启动)我的服务器时遇到了问题。奇怪的是;当我启动一个普通服务器(
rails服务器
)时,一切似乎都正常工作,但当我作为守护进程启动服务器时,它不会重置(
rails服务器-d

我使用Capistrano进行部署。据我所知,没有问题;它拉下我的最新分支,运行迁移并触摸tmp/restart.txt。我曾尝试将我的
tmp/restart.txt
作为一个共享文件,但这似乎不是问题所在(尽管我认为这是一个配置,我会保留)。在发现Capistrano可能按预期工作后,我尝试登录服务器并亲自运行
touch tmp/restart.txt
。它适用于香草服务器,但不适用于守护进程

以前有人见过这个问题吗?如果有更多的信息我可以提供,请让我知道

Env:

ruby 2.6.3p62
@/home/deploy/.rvm/rubies/ruby-2.6.3/bin/ruby

Rails 5.2.3
@/home/deploy/.rvm/gems/ruby-2.6.3/bin/Rails

Bundler版本2.1.2
@/home/deploy/.rvm/gems/ruby-2.6.3/bin/bundle

Node v13.8.0
@/home/deploy/.nvm/versions/Node/v13.8.0/bin/Node


我的日志、tmp和config/master.key作为Capistrano设置的一部分共享。

您使用的是puma、unicorn还是passenger?apache还是nginx?重新启动该进程更多地取决于这一点


就个人而言,我喜欢在apache中使用Passenger,当我重新启动apache时,Passenger进程会自动重新启动。

我想我没有提到这一点,谢谢!我使用的是Puma(我相信是rails附带的)。当我运行
$puma-v
时,我似乎在使用3.12.1版。我会深入研究的。我没有使用比彪马更先进的东西;阿帕奇,nginx,等等。什么开始了puma?我不知道美洲狮是否有刷新的能力。。它只是运行应用程序。通常有某种看门狗,你可以杀死彪马进程,它会被它的父母/观察者重生。啊,你说得对。我想我希望我的生产环境与spring运行的开发环境相同。我会调查一下你提到的一些服务。通过capistrano手动重启我的服务器,杀死它并重新启动,这会不会不好?@Ishmalking您是否正在生产中的服务器上运行
rails server
?这是非常不传统的。您可以终止并重新启动,但会有短暂的停机时间。我建议您根据自己的喜好设置Apache或Nginx。并安装乘客模块以自动管理您的rails应用程序。感谢您的评论!我对这一切都很陌生,所以当我第一次启动AWS实例时,很高兴看到我的服务器通过使用
rails服务器
远程运行。在运行/重新启动我的服务器时,我已经转到了passenger/nginx。非常感谢!