Question

Why am I getting a 502 Bad Gateway using Dokku after a few hours of uptime

Deployment is smooth, everything is working then I check back on the site after a day or so and its come down with a 502 bad gateway. I have more than one (now three) small nodejs express and mongoose apps running inside dokku, when I mean small I’m talking a single page app and a sign up form. Database is hosted elsewhere.

I have tried increasing server size, which seemed to delay the problem a little, but mostly it seems pretty random and if it was a ram problem my understanding is dokku should reboot the app anyway.

What else could I try?

Show comments

Submit an answer


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!

Sign In or Sign Up to Answer

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.

Bobby Iliev
Site Moderator
Site Moderator badge
December 2, 2020
Accepted Answer

Hello,

What I would recommend following these steps in case that you are having any problems with your nginx server and you are unsure on what the problem is:

  • Check if nginx is running:
systemctl status nginx

If nginx is running you should see something like this:

● nginx.service - The nginx HTTP Server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-11-19 09:37:46 UTC; 2 days ago
     Docs: https://httpd.nginx.org/docs/2.4/

If nginx is not running then the output would look like this:

● nginx.service - The nginx HTTP Server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Fri 2019-11-22 08:41:01 UTC; 39s ago
     Docs: https://httpd.nginx.org/docs/2.4/
  • If nginx is not running you could start it with:
systemctl start nginx

Then check the status agian and make sure that nginx remains running.

  • If nginx did not start after a reboot, you could enable it so that it starts after the next reboot:
systemctl enable nginx
  • Check your nginx config syntax:
nginx -t

If you get an error, you would need to fix that problem and then you could restart nginx:

systemctl restart nginx
  • If you get Syntax OK when running nginx -t then your confiruation is correct, so I would recommend checking your error logs:
tail -f /var/log/nginx/error.log
  • Check the permissions of the files and folders in your document root:

Find the user that your nginx service is running as:

ps auxf | grep nginx

If you are using Ubuntu, the user should be www-data, so you would need to make sure that your files and folders are owned by that user, so nginx could read and write to those files:

chown -R www-data:www-data /var/www/yourdomain.com
  • Check if nginx is binding to the default ports:
netstat -plant | grep '80\|443'
  • Check if ufw allows TCP connections on port 80 and 443:
ufw status

If this is the case, you can follow the steps from this article here on how to configure your ufw:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04

That is pretty much it, with all of the above information you should be able to narrow down the problem.

For more information I would suggest checking out this article here:

https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-common-site-issues-on-a-linux-server

And here is also a quick video demo on how to do that as well:

Hope that this helps! Regards, Bobby Source: How to Troubleshoot Common Nginx Issues on Linux Server?

This comment has been deleted

    Try DigitalOcean for free

    Click below to sign up and get $200 of credit to try our products over 60 days!

    Sign up

    Get our biweekly newsletter

    Sign up for Infrastructure as a Newsletter.

    Hollie's Hub for Good

    Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

    Become a contributor

    Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

    Welcome to the developer cloud

    DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

    Learn more
    DigitalOcean Cloud Control Panel