1

Macbook Pro as Power Bank

 1 year ago
source link: https://aungkoman.github.io/2023/04/27/how-to-run-node-js-in-production.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

install PM

npm install pm2 -g

run project

pm2 start index.js

List Process

pm2 list

Stop Process

pm2 stop app_name / process index

pm2 stop 0

Restart on file changes

pm2 start app.js –watch

root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# ls Procfile app.json index.js package-lock.json public views README.md backup-gps node_modules package.json test.js root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# sudo npm install pm2@latest -g sudo: npm: command not found root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# npm install npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: ‘[email protected]’, npm WARN EBADENGINE required: { node: ‘14.x’ }, npm WARN EBADENGINE current: { node: ‘v19.3.0’, npm: ‘9.2.0’ } npm WARN EBADENGINE }

up to date, audited 201 packages in 3s

45 packages are looking for funding run npm fund for details

10 vulnerabilities (1 moderate, 7 high, 2 critical)

To address all issues, run: npm audit fix

Run npm audit for details. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# npm install pm2 -g npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

changed 184 packages in 14s

12 packages are looking for funding run npm fund for details root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 start index.js

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

[PM2][ERROR] Script already launched, add -f option to force re-execution root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 start index.js -f

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

[PM2] Starting /var/www/html/socket/index.js in fork_mode (1 instance) [PM2] Done. ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ │ 1 │ index │ fork │ 12 │ online │ 0% │ 48.6mb │ │ 2 │ index │ fork │ 0 │ online │ 0% │ 15.1mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 stop 1

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

[PM2] Applying action stopProcessId on app [1](ids: [ ‘1’ ]) [PM2] index ✓ ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ │ 1 │ index │ fork │ 12 │ stopped │ 0% │ 0b │ │ 2 │ index │ fork │ 0 │ online │ 0% │ 56.1mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 stop 2

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

[PM2] Applying action stopProcessId on app [2](ids: [ ‘2’ ]) [PM2] index ✓ ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ │ 1 │ index │ fork │ 12 │ stopped │ 0% │ 0b │ │ 2 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 list

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ │ 1 │ index │ fork │ 12 │ stopped │ 0% │ 0b │ │ 2 │ index │ fork │ 0 │ stopped │ 0% │ 0b │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 kill

In-memory PM2 is out-of-date, do: $ pm2 update In memory PM2 version: 5.2.2 Local PM2 version: 5.3.0

[PM2] Applying action deleteProcessId on app all [PM2] index ✓ [PM2] index ✓ [PM2] index ✓ [PM2] [v] All Applications Stopped [PM2] [v] PM2 Daemon Stopped root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 list [PM2] Spawning PM2 daemon with pm2_home=/root/.pm2 [PM2] PM2 Successfully daemonized ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. App index index differs. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 start index.js [PM2] Starting /var/www/html/socket/index.js in fork_mode (1 instance) [PM2] Done. ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ online │ 0% │ 39.7mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize. root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket#

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-20-04

https://www.codespeedy.com/remove-node-js-app-from-pm2-process-list/#:~:text=In%20order%20to%20delete%20a,Doing%20this%20is%20quite%20easy.&text=We%20can%20clearly%20see%20the,or%20remove%20the%20specific%20Node.

https://pm2.keymetrics.io/docs/usage/watch-and-restart/

root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/socket# pm2 start index.js –watch [PM2] Starting /var/www/html/socket/index.js in fork_mode (1 instance) [PM2] Done. ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ index │ fork │ 0 │ online │ 0% │ 44.1mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ [PM2][WARN] Current process list is not synchronized with saved list. Type ‘pm2 save’ to synchronize.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK