使用supervisor進(jìn)行開(kāi)發(fā)環(huán)境的熱部署
Node.js 只有在第一次引用到某部份時(shí)才會(huì)去解析腳本文件遵班,以后都會(huì)直接訪問(wèn)內(nèi)存,避免重復(fù)載入雳灵。這種設(shè)計(jì)雖然有利于提高性能,卻不利于開(kāi)發(fā)調(diào)試,因?yàn)槲覀冊(cè)陂_(kāi)發(fā)過(guò)程中總是希望修改后立即看到效果褥符,而不是每次都要終止進(jìn)程并重啟。
故引入supervisor抚垃,進(jìn)行監(jiān)控喷楣、重啟。
//安裝supervisor
sudo npm install supervisor -g
//使用supervisor熱部署項(xiàng)目(日志json配置文件中鹤树,也需要加入myApp字段)
supervisor ../myApp/bin/www
ps:myApp為項(xiàng)目名
生產(chǎn)環(huán)境铣焊,使用PM2來(lái)監(jiān)控
PM2 是一個(gè)帶有負(fù)載均衡功能的 Node.js 應(yīng)用的進(jìn)程管理器。
//安裝
sudo npm install -g pm2
//啟動(dòng)項(xiàng)目
cd bin
pm2 start www
//監(jiān)控運(yùn)行狀態(tài)
pm2 status
//監(jiān)控實(shí)時(shí)CPU及內(nèi)存情況
pm2 monit
//結(jié)束進(jìn)程
pm2 delete 0('0'為該進(jìn)程id)