eta*_*luz 7 ruby-on-rails nginx rackspace rackspace-cloud ruby-on-rails-4
我正在使用nginx webserver在Rackspace上托管我的Rails应用程序.
在调用任何Rails API时,我在/var/log/nginx/error.log中看到此消息:*49 connect()失败(111:连接被拒绝),同时连接到上游,客户端:10.189.254.5,server :, request: "POST/api/v1/users/sign_in HTTP/1.1",上游:" http://127.0.0.1:3001/api/v1/users/sign_in ",主持人:"anthemapp.com"
我花了几个小时与5-6名不同的Rackspace技术人员(他们不知道如何解决这个问题).这一切都始于我将服务器置于救援模式并遵循以下步骤:https://community.rackspace.com/products/f/25/t/69.一旦我退出救援模式并重新启动服务器,我就开始收到我正在写的错误.TNX!
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
Run Code Online (Sandbox Code Playgroud)
...但是,为了防止此类问题在未来发生(以及提高Rails应用程序的性能!),最好使用某种生产就绪的Rails应用程序服务器.我建议使用Phusion Passenger,因为它是最关键的解决方案 - 他们的nginx用户指南描述了安装和配置 - 但是有很多替代方案.对于您的选项是什么,它们都意味着什么,以及它们如何与StackOverflow问题的最佳答案相关联,这是一篇很好的文章.
| 归档时间: |
|
| 查看次数: |
14078 次 |
| 最近记录: |