Nuxt/examples/pm2-typescript
Kevin Marrec 920f444b6e refactor(ts): better DX for typescript support (#5079)
Breaking change : `build.useForkTsChecker` renamed to `build.typescript.typeCheck`
2019-03-14 13:37:47 +03:30
..
pages chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
ecosystem.config.js refactor(ts): better DX for typescript support (#5079) 2019-03-14 13:37:47 +03:30
nuxt.config.ts chore(examples): zero-downtime pm2 typescript example (#4907) 2019-02-01 16:37:55 +03:30
package.json refactor(ts): better DX for typescript support (#5079) 2019-03-14 13:37:47 +03:30
README.md doc: create/update README.mds for examples (#4980) 2019-02-08 15:48:30 +01:00
tsconfig.json refactor(ts): better DX for typescript support (#5079) 2019-03-14 13:37:47 +03:30

Nuxt.ts with PM2 example

pm2 ia an advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management and more.

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