Starting Express.js applications with PM2
I recently ran into an issue with PM2. I have created a “helloworld” applications using Express.js.
[root@nodejs projects]# express helloworld
warning: the default view engine will not be jade in future releases
warning: use--view=jade' or
--help' for additional options
create : helloworld/
create : helloworld/public/
create : helloworld/public/javascripts/
create : helloworld/public/images/
create : helloworld/public/stylesheets/
create : helloworld/public/stylesheets/style.css
create : helloworld/routes/
create : helloworld/routes/index.js
create : helloworld/routes/users.js
create : helloworld/views/
create : helloworld/views/error.jade
create : helloworld/views/index.jade
create : helloworld/views/layout.jade
create : helloworld/app.js
create : helloworld/package.json
create : helloworld/bin/
create : helloworld/bin/www
change directory:
$ cd helloworld
install dependencies:
$ npm install
run the app:
$ DEBUG=helloworld:* npm start
The application started without issues with npm start.
Next I started the application with PM2
[root@nodejs helloworld]# pm2 start app.js
PM2 displayed the application as “online”, but it constantly restarted and was not accessible.
I found the solution here
[root@nodejs helloworld]# pm2 start bin/www
did the trick for me.