如何在使用dokku部署的rails应用程序上启动faye服务器?

时间:2014-08-05 09:17:51

标签: ruby-on-rails faye digital-ocean dokku

我使用Dokku在Digitalocean上托管了我的rails应用程序。我的应用程序需要通过Faye运行实时应用程序。我一直在尝试几种方式,比如Dokku的shoreman插件,并将faye: bundle exec rackup faye.ru -s thin -E production添加到“Procfile”文件中。但是直到现在还没有运气,需要帮助我如何让这个Faye服务器运行我的应用程序。

1 个答案:

答案 0 :(得分:3)

您需要执行几个步骤才能使用faye服务器(例如,在端口9292上):

  1. 您的Procfile正常
  2. 在Docker上公开端口9292。我建议安装docker-options插件和下一个dokku docker-options:add timer "-p 9292:9292"
  3. 设置您的应用nginx.conf。我在这里:

    upstream app { server 127.0.0.1:49154; }
      server {
      listen      [::]:80;
      listen      80;
      server_name app.dokku.mine;
      location    / {
        proxy_pass  http://app;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Request-Start $msec;
    }
      location /faye {
        proxy_redirect     off;
        proxy_set_header   Upgrade    $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_http_version 1.1;
        proxy_buffering    off;
        proxy_cache_bypass $http_pragma $http_authorization;
        proxy_no_cache     $http_pragma $http_authorization;
        proxy_pass http://localhost:9292;
      }
    }
    
  4. 我建议安装nginx-alt插件,因为在每次部署时都会覆盖配置。