繁体   English   中英

独角兽重启-主服务器无法启动,请检查stderr日志以获取详细信息

[英]Unicorn Restart - master failed to start, check stderr log for details

使用Capistrano部署时出错

DEBUG [aaaad896] Command: cd /home/dev/PROJECT-NAME/current && ( export RAILS_ENV="production" ; ~/.rvm/bin/rvm default do bundle exec unicorn -c /home/dev/PROJECT-NAME/current/config/unicorn.rb -E deployment -D  )
DEBUG [aaaad896]    master failed to start, check stderr log for details
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as dev@XX.XXX.XXX.XX: bundle exit status: 1
bundle stdout: Nothing written
bundle stderr: master failed to start, check stderr log for details

其他日志。

Errno::EADDRINUSE: Address already in use - bind(2) for 0.0.0.0:8080
  /home/dev/PROEJCT-NAME/shared/bundle/ruby/2.3.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:149:in `bind'

unicorn.rb文件unicorn.rb

deploy.rb文件 deploy.rb

默认(nginx / site-enables / default)File默认

每次重新启动独角兽时,我在capistrano中都遇到此错误。 那么我该如何解决呢?

问题是您在端口8080中监听了另一个服务,这就是您的日志所说的。 如果您使用的是Linux,则可以使用lsof -i:8080检查它使用的服务。 这将告诉您谁在使用该端口。 如果您可以终止该服务,请执行此操作,否则,请仅更改配置文件上的端口。

要杀死已经运行的进程,可以使用以下命令检查它们

ps aux | grep unicorn

哪个会列出类似

deployer  3807  2.8  9.3 369964 94996 ?        Sl   12:51   0:03 unicorn master -D -c /home/deployer/apps/cb_app/current/config/unicorn.rb -E staging

deployer  3816  0.0  8.5 369964 87040 ?        Sl   12:51   0:00 unicorn worker[0] -D -c /home/deployer/apps/cb_app/current/config/unicorn.rb -E staging

deployer  3818  0.0  8.5 369964 87200 ?        Sl   12:51   0:00 unicorn worker[1] -D -c /home/deployer/apps/cb_app/current/config/unicorn.rb -E staging

然后你可以用杀死他们

kill 3807

现在,再次尝试部署,看看主服务器是否启动。

有时,这与权限有关,因为独角兽会重新启动,因此需要写入日志。 检查/ log的文件夹权限,并使其可写。

我遇到了同样的问题,是的,这是关于权限的,早在docker GitLab容器(或服务器)关闭时,我确实对本地计算机上的日志和数据文件(即卷)的权限进行了一些更改。 由于更改了权限,因此GitLab容器在启动时无法写入任何内容,因此出现此错误。 当我恢复所做的更改时。 对我来说很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM