1. 程式人生 > >使用pm2啟動nodeJS程式

使用pm2啟動nodeJS程式

安裝

[root@9nve ~]# npm install -g pm2
/mnt/local/node/bin/pm2 -> /mnt/local/node/lib/node_modules/pm2/bin/pm2
/mnt/local/node/bin/pm2-dev -> /mnt/local/node/lib/node_modules/pm2/bin/pm2-dev
/mnt/local/node/bin/pm2-docker -> /mnt/local/node/lib/node_modules/pm2/bin/pm2-docker
/mnt/local/node/bin/pm2-runtime -> /mnt/local/node/lib/node_modules/pm
2/bin/pm2-runtime /mnt/local/node/lib └─┬ pm2@2.7.1 ├─┬ async@2.5.0 │ └── lodash@4.17.4 ├── blessed@0.1.81 ├─┬ chalk@1.1.3 │ ├── ansi-styles@2.2.1 │ ├── escape-string-regexp@1.0.5 │ ├─┬ has-ansi@2.0.0 │ │ └── ansi-regex@2.1.1 │ ├── strip-ansi@3.0.1 │ └── supports-color@2.0.0 ├─┬ chokidar@1
.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2
.1.0 │ │ │ │ │ ├─┬ randomatic@1.1.7 │ │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ │ └── repeat-string@1.6.1 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├── inherits@2.0.3 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ ├── path-is-absolute@1.0.1 │ └─┬ readdirp@2.1.0 │ ├── graceful-fs@4.1.11 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├─┬ readable-stream@2.3.3 │ │ ├── core-util-is@1.0.2 │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@1.0.7 │ │ ├── safe-buffer@5.1.1 │ │ ├── string_decoder@1.0.3 │ │ └── util-deprecate@1.0.2 │ └── set-immediate-shim@1.0.1 ├── cli-table-redemption@1.0.1 ├── commander@2.11.0 ├─┬ cron@1.2.1 │ └── moment-timezone@0.5.13 ├─┬ debug@3.1.0 │ └── ms@2.0.0 ├── eventemitter2@1.0.5 ├── fclone@1.0.11 ├── gkt@1.0.0 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├── moment@2.19.1 ├─┬ needle@1.6.0 │ ├── debug@2.6.9 │ └── iconv-lite@0.4.19 ├─┬ nssocket@0.6.0 │ ├── eventemitter2@0.4.14 │ └── lazy@1.0.11 ├── pidusage@1.1.6 ├─┬ pm2-axon@3.1.0 │ ├── amp@0.3.1 │ ├── amp-message@0.1.2 │ └── escape-regexp@0.0.1 ├── pm2-axon-rpc@0.5.0 ├─┬ pm2-deploy@0.3.8 │ ├── async@1.5.2 │ └── tv4@1.3.0 ├─┬ pm2-multimeter@0.1.2 │ └── charm@0.1.2 ├─┬ pmx@1.5.4 │ ├── json-stringify-safe@5.0.1 │ └─┬ vxx@1.2.2 │ ├─┬ continuation-local-storage@3.2.0 │ │ ├── async-listener@0.6.8 │ │ └─┬ emitter-listener@1.0.1 │ │ └── shimmer@1.0.0 │ ├── debug@2.6.9 │ ├── extend@3.0.1 │ ├── is@3.2.1 │ ├── lodash.findindex@4.6.0 │ ├── lodash.isequal@4.5.0 │ ├── lodash.merge@4.6.0 │ ├── methods@1.1.2 │ ├── shimmer@1.1.0 │ └── uuid@3.1.0 ├─┬ promptly@2.2.0 │ └─┬ read@1.0.7 │ └── mute-stream@0.0.7 ├── semver@5.4.1 ├─┬ shelljs@0.7.8 │ ├─┬ glob@7.1.2 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ └── once@1.4.0 │ ├── interpret@1.0.4 │ └─┬ rechoir@0.6.2 │ └─┬ resolve@1.4.0 │ └── path-parse@1.0.5 ├─┬ source-map-support@0.4.18 │ └── source-map@0.5.7 ├── sprintf-js@1.1.1 ├─┬ vizion@0.2.13 │ └── async@1.5.2 └─┬ yamljs@0.3.0 └─┬ argparse@1.0.9 └── sprintf-js@1.0.3 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/pm2/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"ia32"})

建立系統命令

ln -s /mnt/local/node/bin/pm2 /mnt/local/bin/pm2

啟動程式

[[email protected] ~]# pm2 start /mnt/www/adminMongo/app.js

                        -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///////////////__


               Production Process Manager for Node.js apps
                     with a built-in Load Balancer.


                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /mnt/www/adminMongo/app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬──────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu  │ mem       │ user │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼──────┼───────────┼──────┼──────────┤
│ app      │ 0  │ fork │ 4074 │ online │ 0       │ 0s     │ 135% │ 19.5 MB   │ root │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴──────┴───────────┴──────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

重啟程式

[[email protected] ~]# pm2 restart /mnt/www/adminMongo/app.js
[PM2] Applying action stopProcessId on app [/mnt/www/adminMongo/app.js](ids: 0)
[PM2] [app](0) ✓
┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────┬──────────┐
│ App name │ id │ mode │ pid │ status  │ restart │ uptime │ cpu │ mem    │ user │ watching │
├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────┼──────────┤
│ app      │ 0  │ fork │ 0   │ stopped │ 0       │ 0      │ 0%  │ 0 B    │ root │ disabled │
└──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

關閉程式

[[email protected] ~]# pm2 stop /mnt/www/adminMongo/app.js
[PM2] Applying action stopProcessId on app [/mnt/www/adminMongo/app.js](ids: 0)
[PM2] [app](0) ✓
┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────┬──────────┐
│ App name │ id │ mode │ pid │ status  │ restart │ uptime │ cpu │ mem    │ user │ watching │
├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────┼──────────┤
│ app      │ 0  │ fork │ 0   │ stopped │ 0       │ 0      │ 0%  │ 0 B    │ root │ disabled │
└──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

相關推薦

使用pm2啟動nodeJS程式

安裝 [root@9nve ~]# npm install -g pm2 /mnt/local/node/bin/pm2 -> /mnt/local/node/lib/node_modules/pm2/bin/pm2 /mnt/local/n

Centos 7 上利用pm2部署 nodejs 程式

本文探索如何利用pm2 來部署nodejs的程式到centos系統上。 參考資源 版本 git version git version 2.11.1 node -v v8.0.0 pm2 -v

使用pm2啟動nodejs+express+mysql管理系統步驟

進入 sta \n 不可 ins 中斷 步驟 文件 nodejs 背景:   由於個人興趣,了解了一下nodejs+express+mysql項目。在項目搭建完成並開發完成並部署時,遇到一個尷尬的問題,就是後臺的servive服務啟動問題。日常開發時,打開2個cm窗口,分

使用PM2守護Nodejs命令行程序

所有 epm 行程 開始 top viso roc 運行時 成員 介紹 pm2是nodejs的一個帶有負載均衡功能的應用進程管理器的模塊,類似有Supervisor,forever,用來進行進程管理。 一、安裝: <pre>npm install pm2 -g

forever 啟動nodejs

文件夾 app.js 能夠 sudo node lis con ejs 全局   forever可以看做是一個nodejs的守護進程,能夠啟動,停止,重啟我們的app應用。 1.全局安裝 forever // 記得加-g,forever要求安裝到全局環境下

啟動Nodejs服務

esp size tao warn UNC ont 第一個 onos \n vs code 中間創建 1. settings.json{ "git.ignoreLimitWarning": true} 2. 1. npm init 安裝

java啟動exe程式,傳遞引數和獲取引數

1、java中啟動exe程式 ,並新增傳參 String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb =

Android重啟動程式執行

Android從啟動到程式執行整個過程的整理 1Android是基於Linux的一個作業系統,它可以分為五層,下面是它的層次架構圖,可以記一下,因為後面應該會總結到SystemServer這些Application Framework層的東西 Android的五層架構從上到下依次是:應

以後臺服務的形式啟動nodejs應用

all 執行 star eve 命令 npm 其他 解決 rev 問題 運行一個nodejs服務,退出終端之後,服務就停止運行。 node app.js 即便采用 node server.js & 或 nohup node server.js >/de

Weblogic 12c啟動安裝程式

Weblogic 12c啟動安裝程式 安裝weblogic時,會遇到很多坑,去網上一搜,大多數都沒有教你如何避免。尤其是啟動安裝程式,按網上的方法怎麼做都不對。當你在命令列敲處解壓壓縮包的程式碼 java -jar fmw_12.2

使用VisualStudioCode遠端除錯NodeJS程式

Kagula 2018-08-02 環境: [1]NodeJS v8.9.1 [2]Visual Studio Code 1.25.1 [3]有兩臺計算機:    第一臺計算機上裝了linux系統, 執行nodeJS程式.    我們稱之為遠端計算機,

啟動MongoDB提示:無法啟動程式,因為計算機中丟失api-ms-win-crt-runtime-|1-1-0.dll

前提:已完成好MongoDB 進入MongoDB安裝根目錄下的bin目錄下,啟動MongoDB 啟動mongod.exe提示“無法啟動此程式,因為計算機中丟失api-ms-win-crt-runtime-|1-1-0.dll” 解決方法 微軟官方提供的 vc_

樹莓派UbuntuMate自啟動 -- Qt程式

1. 樹莓派開機啟動流程: 自動登入–>自動啟動視窗–>自動執行使用者程式 2. 修改方法: 2.1 進入目錄 在home目錄下進入 .config 目錄 cd ~/.config 2.2 autostart目錄 如

讓 Windows7 - 64bit 支援 VC++ 6.0 的解決方法(無法啟動程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題)

源地址:https://www.cnblogs.com/poissonnotes/p/4372136.html   無法啟動此程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題。 我用的作業系統是Windows 7 -64bit,我把DLL下載以後按常

gitlab-ci window下構建Nodejs程式,會跳過npm install後面的其他指令碼

背景 最近在處理一個nodejs的構建程式,因為需要打包為win可執行程式,並且有現成的ci工具可以用,就找了一個window機子作為gitlab-runner註冊到gitlab伺服器上,本地利用node npm 安裝包,起服務測試都沒問題,但是在gitlab-ci伺服器上執行的時候,就

Windows執行(Win+R)快速啟動所有程式(自定義)

執行Win+R我們都會用,等同於開始選單的“執行”。注意,只是效果等同, 從速度來看,按win+r比用滑鼠要快很多倍。用win+r啟動常用程式 最常用的是輸入cmd開啟命令列或calc開啟計算器, 很方便,現在教大家開始命令識別自定義的程序, 比如,要開啟qq程式時,一共只要按下4個鍵:win+r,&

在春天結束JVM當瀏覽器選項卡關閉啟動應用程式

我有一個spring-boot web應用程式分配jar檔案。 啟動應用程式的程式碼如下: private static ConfigurableApplicationContext ctx; public static void main(String[] args){ if(ctx == n

C#啟動外部程式的幾種常用方法彙總

轉自https://www.cnblogs.com/randyzhuwei/p/5403922.html 本文彙總了C#啟動外部程式的幾種常用方法,非常具有實用價值,主要包括如下幾種方法: 啟動外部程式,不等待其退出。 啟動外部程式,等待其退出。 啟動外部程式

獲取fork+exec啟動程式的PID值

問題背景     業務中有個場景需要自動起一個A程式(由於A程式與 sublime_text 啟動後遇到的問題有相似之處,後文就用 sublime_text 來替代A程式,當A程式與 sublime_text 的現象有所差異的時候,恢復使用 A 程式),並在適當的場景下殺死它,自然而然想到 fork + ex

PM2部署nodejs專案

如果直接通過node app來啟動,如果報錯了可能直接停在整個執行,supervisor感覺只是拿來用作開發環境的。再網上找到pm2.目前似乎最常見的線上部署nodejs專案的有forever,pm2這兩種。 使用場合: supervisor是開發環境用 forever管理多個站點,每