I am currently using Faye and Redis in the application I am developing. This is not a direct solution to the current installation of the issue, but an alternative method that I implemented. Below is my nginx configuration, and then I run Faye through rackup on the screen on the server.
/etc/nginx/sites-enabled/application.conf:
server { listen 80; listen [::]:80; server_name beta.application.org;
This link should give a little idea of how it works. https://chrislea.com/2013/02/23/proxying-websockets-with-nginx/
You can also refer to Feee github for some tips on setting it up with Passenger.
Also, if you followed Digital Ocean's tutorials for initial server setup and eventually turned on the firewall, make sure that you allow the ports that Faye / websockets runs on. (See here when setting up a basic firewall: Additional Recommended Steps for New Ubuntu 14.04 Servers
My alternative method involves running Faye on a separate screen on the server. A few commands that you will need to control the screens on the ubuntu server:
screen -S <pick screen name> (new screen) screen -ls (lists screens) screen -r <screen number> (attach screen) to quit from a screen, ctrl + a THEN "d" (detach screen)
Once you have a new screen, start the Faye server on this screen using rackup: rackup faye.ru -s thin -E production
As a note, with this option, every time you restart your Digital Ocean server (i.e. when creating a screenshot as a backup), you will need to create a new screen and start the faye server again; however using something like Daemon would be a better implementation to get around this (I just haven't implemented it yet ...). Go to Github and find FooBarWidget / daemon_controller.
Let me know if you have any other questions and I will try to help!
source share