使用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管理多個站點,每