Bundler 在部署 Rails 5 个应用程序时找不到 puma

Bundler won't find puma when deploying Rails 5 app

仅供参考,这是我第一次在生产服务器上部署某些东西。我经历了这个 guide 因为我的服务器也托管在 DO 上。

环境几乎相同 - 我使用的是 Ubuntu 14.04、Ruby 2.3.3 (rbenv) 和 rails 5.

我一步一步地进行了所有操作,没有出现任何错误,但是,现在访问我的 public IP 时出现 502 错误网关。

我注意到由于某种原因在启动 puma 管理器 (sudo start puma-manager) 后,目录 "shared/sockets/puma.sock" 没有被创建。

当我使用 -> RACK_ENV=production bundle exec puma -C config/puma.rb 从我的应用程序目录手动启动 puma 时,出现以下错误:

bundler: 加载命令失败: puma (/root/.rbenv/versions/2.3.3/bin/puma) Errno::ENOENT: 没有这样的文件或目录 - /root/belooga/shared/sockets/puma.sock

的 connect(2)

知道我可能做错了什么吗?如果您需要查看任何文件,请告诉我,我会提供可能需要的任何内容。

干杯!

编辑:

我已经仔细检查了所有路径:

... the directory "shared/sockets/puma.sock" is not getting created.

这是你的问题,在启动 puma 服务器之前创建目录。