PM2 - Setup
Recent changes to the project now have it completely running under Node/Express/PM2. Details of the change(s) should be posted on the project's WIKI, but I thought it important enough to share what I've learned. This link was very helpful to get started. When adding the application to PM2, the following line is used to register/start the application: (THIS ONLY NEEDS TO BE RUN ONCE. There is an entry in /etc/init.d that will run the PM2 Daemon on server startup) pm2 start server/app.js –u app-www --watch --name app -- --app http://################### Let's break it down (now):
- "pm2" : The name of the cool Node Management platform that "on-the-fly" devotes resources to the given apps.
- "start" : Creates a new application
- "server/app.js" : The location of the main application .js
- "-u app-www" : The user to run under. We don't want PM2 to run as ROOT for security purposes, especially on port 80 or 443.
- "--watch" : Vital and saves each deployment from having to restart the application on each deployment. This is newly in place and still being tested. I originally thought it best to send a command after deployment was complete (and still do) but this may be just as good, and baked into the functionality of PM2.
- "--name app" : Force the name of the application (there could be many, but not in this current case). It's possible to run multiple applications under the same PM2 umbrella.
- "--" : Tells PM2 that everything after is a parameter to be sent to the Node Application
- Everything else, see below.