1

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

4

1 回答 1

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;
      }
    }
    

我建议安装nginx-alt插件,因为每次部署都会覆盖配置。

于 2014-08-08T12:27:50.653 回答