pm2(process manager)是一個進程管理工具,維護一個進程列表,能夠用它來管理你的node進程,負責全部正在運行的進程,並查看node進程的狀態,也支持性能監控,負載均衡等功能。前端
npm install pm2 -g
pm2 start start.js
pm2 start app.js --name application1
// -i 表示 number-instances 實例數量 // max 表示 PM2將自動檢測可用CPU的數量 能夠本身指定數量 pm2 start start.js -i max
// 在文件改變的時候會從新啓動程序 pm2 start app.js --name start --watch
列出全部進程vue
pm2 list pm2 ls // 簡寫
從進程列表中刪除進程node
// pm2 delete [appname] | id pm2 delete app // 指定進程名刪除 pm2 delete 0 // 指定進程id刪除
刪除進程列表中全部進程nginx
pm2 delete all
查看某個進程具體狀況git
pm2 describe app
pm2 monit
重啓進程github
pm2 restart app // 重啓指定名稱的進程 pm2 restart all // 重啓全部進程
查看進程日誌web
pm2 logs app // 查看該名稱進程的日誌 pm2 logs all // 查看全部進程的日誌
設置pm2開機自啓vue-cli
開啓啓動設置,此處是CentOS系統,其餘系統替換最後一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)shell
pm2 startup centos
而後按照提示須要輸入的命令進行輸入npm
最後保存設置
pm2 save
確保服務器安裝了pm2,沒有安裝的話先安裝
npm install pm2 -g
# deploy.yaml apps: - script: ./start.js # 入口文件 name: 'app' # 程序名稱 env: # 環境變量 COMMON_VARIABLE: true env_production: NODE_ENV: production deploy: # 部署腳本 production: # 生產環境 user: lentoo # 服務器的用戶名 host: 192.168.2.166 # 服務器的ip地址 port: 22 # ssh端口 ref: origin/master # 要拉取的git分支 ssh_options: StrictHostKeyChecking=no # SSH 公鑰檢查 repo: https://github.com/**.git # 遠程倉庫地址 path: /home # 拉取到服務器某個目錄下 pre-deploy: git fetch --all # 部署前執行 post-deploy: npm install && pm2 reload deploy.yaml --env production # 部署後執行 env: NODE_ENV: production
在服務器中生成rsa公鑰和私鑰,當前是 centos7 下進行
前提服務器要安裝git,沒有安裝的先安裝git,已安裝的跳過
yum –y install git
生成祕鑰
ssh-keygen -t rsa -C "xxx@xxx.com"
在~/.ssh目錄下有 id_rsa和 id_rsa.pub兩個文件,其中id_rsa.pub文件裏存放的便是公鑰key。
登陸到GitHub,點擊右上方的頭像,選擇settings ,點擊Add SSH key,把id_rsa.pub的內容複製到裏面便可。
每次部署前先將本地的代碼提交到遠程git倉庫
pm2 deploy deploy.yaml production setup
部署完成後,既可登錄服務器查看配置的目錄下是否從git上拉取了項目
pm2 deploy deploy.yaml production upddate
如vue-cli的項目,自動部署到服務器,自動執行npm run build 命令,生成的dist目錄,指定到nginx的靜態文件目錄下。
pm2 deploy deploy.yaml production setup
歡迎關注個人公衆號「碼上開發」,天天分享最新技術資訊。關注獲取最新資源