Nuxt/examples/pm2-typescript
Dmytro 1fb9af33a3 chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
..
pages chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
README.md chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
ecosystem.config.js chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
nuxt.config.ts chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
package.json chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
tsconfig.json chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
tslint.json chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30

README.md

PM2 with nuxt-ts example

Gracefull zero-downtime restart

ecosystem.config.js - configuration file for pm2

listen_timeout option depends on your need

Zero-downtime deployment

*all depends on your deployment method. It's just example

Directories:

  • $PROJECT_ROOT - your project root path on server
  • /current - root dir for nginx(if you are using proxy configuration)
  • /_tmp - Temporary dir to install and build project
  • /_old - Previous build. Can be useful for fast reverting

Steps:

  • deploy project to $PROJECT_ROOT/_tmp
  • cd $PROJECT_ROOT/_tmp
  • npm i
  • nuxt build or if you are using TypeScript nuxt-ts build
  • mv $PROJECT_ROOT/current $PROJECT_ROOT/_old
  • mv $PROJECT_ROOT/_tmp $PROJECT_ROOT/current
  • cd $PROJECT_PATH/current
  • pm2 startOrReload ecosystem.config.js