我使用在Rackspace上托管我的Rails应用程序。
当调用任何Rails API时,我在/var/log/nginx/error.log中看到以下消息:*49 connect()失败(111:拒绝连接),同时连接到上游,客户机: 10.189.254.5,服务器:,请求:"POST /api/v1/user/sign/1.1“,上游:"在……里面",主机:"anthemapp.com”
我花了几个小时与5-6个不同的Rackspace技术人员(他们不知道如何解决这个问题)。当我将服务器带入救援模式并遵循以下步骤:https://community.rackspace.com/products/f/25/t/69时,这一切都开始了。一旦我走出了救援模式并重新启动了服务器,我就开始收到我正在写的错误。Tnx!
发布于 2015-02-04 13:04:20
Nginx是一个反向代理服务器,它在服务器上的作用是接受HTTP请求并将它们代理到同一主机上的另一个进程。错误消息所讨论的“上游”指的是nginx配置中的位(其中一部分是/etc/nginx/sites-available/default文件),它告诉它在哪里发送传入请求。您正在看到的错误消息表明,nginx收到了一个请求,但无法将其发送到它应该发送的其他进程。
当您的服务器重新启动时,nginx进程启动了,但是您的Rails进程--该进程应该监听端口3001 --却没有!
如何重新启动Rails进程取决于您之前启动它的方式以及服务器的配置方式。它可能就像cd‘在服务器上进入Rails应用程序的目录并运行:
rails server -b 127.0.0.1 -p 3001 -e production -d...but,为了防止将来发生类似的问题(并提高Rails应用程序的性能!),最好使用某种可以生产的Rails应用服务器。我建议使用普休旅客,因为它是最关键的解决方案--他们的nginx用户指南描述了安装和配置--但是有很多替代方案。您的选择是什么,它们都意味着什么,以及它们在这个StackOverflow问题的最高答案上的关系,这是一个很好的记录。
发布于 2016-08-31 22:14:50
在我的情况下,我需要运行:
bundle install
bundle update然后:
sudo stop puma-manager
sudo start puma-manager发布于 2017-12-26 04:55:42
当我在命令下运行时,此问题将得到解决。
cap production puma:restart如果我们在生产中切换ruby版本,有时会发生这种情况。
https://stackoverflow.com/questions/28311945
复制相似问题