【问题标题】:error installing private pub on live server in rails 4在 Rails 4 的实时服务器上安装私人 pub 时出错
【发布时间】:2015-07-15 12:01:14
【问题描述】:

我正在为我的一个项目使用私人酒吧。它在本地主机上工作正常,但是当我将它部署在实时服务器上时,它给出了以下错误:

Errno::ECONNREFUSED in CommentsController#new

Connection refused - connect(2) for "202.164.34.20" port 9292

这是我本地服务器的 private_pub.yml 文件内容:

development:
 server: "http://localhost:9292/faye/faye"
 secret_token: "secret"
test:
 server: "http://localhost:9292/faye/faye"
 secret_token: "secret"
production:
 server: "http://example.com/faye/faye"
 secret_token: "0378a6008f37cbd9c3390ce4069bb85f776d068f7b4885d6890f07066affde25"
 signature_expiration: 3600 # one hour

对于其他服务器,这是文件内容:

development:
 server: "http://202.164.34.20:9292/faye/faye"
 secret_token: "secret"
test:
 server: "http://202.164.34.20:9292/faye/faye"
 secret_token: "secret"
production:
 server: "http://localhost:9292/faye/faye"
 secret_token: "0378a6008f37cbd9c3390ce4069bb85f776d068f7b4885d6890f07066affde25"
 signature_expiration: 3600 # one hour

现在我需要在http://202.164.34.20:3001 url 上部署它。请提出建议。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 deployment private-pub


    【解决方案1】:

    localhost:9292 表示它将绑定到 127.0.0.0,如果您想从公共 ip 访问,请确保绑定到您的外部 ip 或 0.0.0.0。 虽然我建议用 nginx/apache 代理它,这样用户就可以连接到端口 80

    nginx 示例

     server {
      listen 80;
      server_name faye.yourdomain.com;
      access_log /var/log/nginx/faye.log;
    
      location /faye {
        proxy_pass http://127.0.0.1:9292;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_buffering off;
        proxy_redirect off;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
      }
    
    }
    
    
    map $http_upgrade $connection_upgrade {
        default Upgrade;
        ''      close;
    }
    

    【讨论】:

    • 感谢您的回答。这意味着服务器 url 将是 202.164.34.20/faye/faye ?但它似乎不起作用。请建议在这种情况下服务器的实际 url 应该是什么。
    • 在这种情况下,您需要将 private_pub.yml 中的生产服务器更改为 202.164.34.20t/faye/faye。但是你可能已经在 80 端口上运行了一个网络服务器?
    • 是的,你是对的。那么是不是和faye有冲突呢。解决办法是什么?
    • 你使用的是 nginx 还是 apache 网络服务器?
    • 看我上面的例子,所以在指向 202.164.34.20 的子域上运行你的 faye 服务器。安装 nginx 并使用我的示例配置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2016-11-13
    • 2017-09-27
    • 1970-01-01
    相关资源
    最近更新 更多