【问题标题】:How to start faye server on a rails app deployed using dokku?如何在使用 dokku 部署的 Rails 应用程序上启动 faye 服务器?
【发布时间】:2014-09-27 21:37:57
【问题描述】:
我使用 Dokku 在 Digitalocean 上托管了我的 rails 应用程序。我的应用程序需要通过 Faye 运行实时应用程序。我一直在尝试几种方法,例如 Dokku 的shoreman 插件并将faye: bundle exec rackup faye.ru -s thin -E production 添加到“Procfile”文件中。但是到目前为止还没有运气,需要帮助我如何让这个 Faye 服务器为我的应用程序运行。
【问题讨论】:
标签:
ruby-on-rails
faye
digital-ocean
dokku
【解决方案1】:
您需要执行几个步骤才能使 faye 服务器正常工作(例如在端口 9292 上):
- 您的 Procfile 正常
- 在 Docker 上公开端口 9292。我建议安装
docker-options 插件和下一个dokku docker-options:add timer "-p 9292:9292"
-
设置您的应用程序 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 插件,因为每次部署都会覆盖配置。