① 如何讓腳本在第二天自動重新啟動
用記事本編寫一段重啟命令,內容如下:
shutdown -r -t +(倒數時間)
shutdown -r -t 10 (意思是10秒後系統自動重啟)
然後隨便一個名字,另存為.bat,再將這個.bat文件存到開始菜單-啟動 文件夾裡面,就會開即啟動這個bat了。C:\Users\用戶名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
如果想啟動一個程序,可以編寫一個bat文件,命令是:
start 路徑/*.exe
例如 :start F:\she.exe
② 如何使用 pm2 部署 express 多進程
PM2是一個帶有負載均衡功能的Node應用的進程管理器。PM2可以利用伺服器上的所有CPU,並保證進程永遠都活著,0秒的重載,部署管理多個Node項目。PM2是Node線上部署完美的管理工具。
PM2安裝
npm install -g pm2
PM2用法
$ pm2 start app.js -i 4 #後台運行pm2,啟動4個app.js,也可以用』max』參數,進程數目依賴於Cpu的核心數目
$ pm2 start app.js –name my-api # 命名進程
$ pm2 restart 0 # 重啟指定的進程
$ pm2 restart all # 重啟所有進程
$ pm2 reload all # 0秒停機重載進程 (用於NETWORKED進程)
$ pm2 stop 0 # 停止指定的進程
$ pm2 stop all # 停止所有進程
$ pm2 startup # 產生init腳本,保持進程活著
$ pm2 delete 0 # 殺死指定的進程
$ pm2 delete all # 殺死全部進程
$ pm2 web # 運行健壯的 computer API endpoint (http://localhost:9615)
$ pm2 list # 列出由pm2管理的所有進程信息。
$ pm2 monit # 監視每個node進程的CPU和內存的使用情況。
$ pm2 logs # 顯示所有進程日誌
$ pm2 kill # 殺死pm2進程
$ pm2 info 0 # 描述指定項目或者進程信息
$ pm2 logs # 實時集中log處理
標簽:Nodejs學習
③ nodejs 線上部署 也需要npm start么
pm2=P(rocess)M(anager)2,是可以用於生產環境的Nodejs的進程管理工具,並且它內置一個負載均衡。它不僅可以保證服務不會中斷一直在線,並且提供0秒reload功能,還有其他一系列進程管理、監控功能。並且使用起來非常簡單。下面我將把我的使用過程分享出來,Nodejs應用是一個基於Express 4.x的應用,名稱是Wolverine。
安裝
環境清單:
windows7 x64
node v5.0.0
npm 3.3.6
- $ npm install pm2 -g
- $ pm2 update
- "scripts": { "start": "node ./bin/www", "debug": "node debug ./bin/www"
- },
- { "apps" : [{ "name" : "Wolverine", //名稱 "script": "./bin/www", //程序入庫 "cwd": "./", //根目錄 "watch":[ "bin", "common", "configs", "public", "routes", "views"
- ],//需要監控的目錄 "error_file":"./logs/app-err.log",//錯誤輸出日誌 "out_file":"./logs/app-out.log", //日誌 "log_date_format":"YYYY-MM-DD HH:mm Z" //日期格式
- }]
- }
- "pm2": "pm2 start processes.json"
- $ npm run pm2
全局安裝pm2
更新
啟動
以前啟動Wolverine是利用package.json的scripts來實現的,只需要執行npm run start就可以啟動,配置如下:
使用pm2我們可以在start處配置成pm2 ./bin/www,命令後面支持加參數來實現watch、cluster多進程模式等功能。我不太喜歡一大串的命令,於是我使用了配置文件的方式。
在Wolverine的根目錄,我創建了一個processes.json配置文件,配置文件內容如下,注釋寫的也很清楚了
隨後,我在package.json中增加了一條
在啟動就直接輸入如下命令就好:
看到下面的界面,就啟動成功了,然後我們就可以關掉這個窗口了,服務不會因此停止,是不是高大上多了。
拿出你的想像力,我們可以開發一個應用來調用此api,就可以開發出一個圖形界面的監控軟體了。。。