如何在使用dokku部署的rails应用程序上启动faye服务器?
我使用Dokku在Digitalocean上托管了我的rails应用程序。 我的应用程序需要通过Faye运行实时应用程序。 我一直在尝试几种方式,如Dokku的shoreman插件,并添加faye: bundle exec rackup faye.ru -s thin -E production
到“Procfile”文件。 但是直到现在还没有运气,需要帮助我如何让这个Faye服务器运行我的应用程序。
您需要执行几个步骤才能使用faye服务器(例如,在端口9292上):
- 你的Procfile没问题
- 在Docker上公开端口9292。 我建议安装
dokku docker-options:add timer "-p 9292: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
插件,因为在每次部署时都会覆盖config。