I have been trying to deploy my rails application for a good part of this week now and have tried many, many, many times to try and get this working. I either hit a 502 bad gateway, a 504 gateway timeout or the page simply cannot be reached.
I have done the following already:
/home/rails/my-app-name
nano /etc/unicorn.conf
and changed the value to working_directory "/home/rails/my-app-name"
nano /etc/nginx/sites-enabled/rails
and changed the value to root /home/rails/my-app-name/public;
service nginx reload && service unicorn restart
My favicon loads and I see that but the rails application just doesn’t load. My rails app works in production on a free Heroku dyno so I’m confident it’s not that
Thank you for any help you can provide, it is greatly appreciated!
Running nginx -t
outputs this:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
This is my error log: [error] 13744#13744: *19 upstream timed out (110: Connection timed out) while reading response header from upstream, client: [IP Address], server: _, request: "GET / HTTP/1.1", upstream: "http://unix:/run/DigitalOceanOneClick/unicorn.sock/", host: "[My Domain Name]"
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
Hello friend!
That is a tough one. Based on the steps you’ve described, the software stack should function. I just copied your steps with a sample app and confirmed that it did operate, just to be sure. While that doesn’t necessarily say there is something wrong with your app, that is the direction you are going to want to look in as we narrow it down. It could be something environmental that is different in this server than another, and that being something that your app requires to function properly, for example. Such a thing like that would be more likely to reveal itself on the app side rather than the web server side.
My first thought is check /var/log/unicorn/unicorn.log and see if you see any errors which may correlate to this. I suspect that you will. If not, however, you may want to build some kind of error logging into the application’s launch that might expose any errors that are not being seen elsewhere. I realize that’s a pretty vague and high level ask, but that is where my instinct is going.
Feel free to share any findings here. If I cannot interpret them in a helpful way, perhaps someone else can. I’m always happy to try :)
Kind Regards, Jarland Platform Support Lead