Reputation: 436
I've been trying to deploy my Node project on a brand new DO droplet, but i'm having some problems with PM2.
My steps are a follows:
All i get is Nginx complaining about a 502 Bad Gateway.
If i look at the Nginx error.log i get this:
connect() failed (111: Connection refused) while connecting to upstream, client: client.ip, server: my.server, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "my.server"
PM2 doesn't have much to say about anything. Nothing in pm2 logs and status is online.
I tried skipping PM2 and just doing npm start which worked perfectly. I also tried setting up a dummy hello world application instead, and using that with PM2 - it also worked.
So this is currently where i'm at:
I'm not really sure where to go from here.. I could just skip PM2 and use node, but i do want the features of PM2.
Any ideas?
Upvotes: 12
Views: 17153
Reputation: 688
In my case I renamed app.js
to project.js
or something and it works.
Upvotes: 0
Reputation: 1
This is some issue with the node installation. Delete the node_modules folder, install again using npm and start the project using pm2.
pm2 kill
rm -rf node_modules
npm i
pm2 start bin/www
Upvotes: -4
Reputation: 9
Nginx has a directive called proxy_read_timeout which defaults to 60 secs. It determines how long nginx will wait to get the response to a request. In nginx. conf file, setting proxy_read_timeout to 120 secs solved our problem.
Upvotes: 0
Reputation: 436
I just had to start PM2 with bin/www instead of app.js. Express generator and everything...
Upvotes: 15