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 // 重啓全部進程
複製代碼
查看進程日誌vue-cli
pm2 logs app // 查看該名稱進程的日誌
pm2 logs all // 查看全部進程的日誌
複製代碼
設置pm2開機自啓shell
開啓啓動設置,此處是CentOS系統,其餘系統替換最後一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)npm
pm2 startup centos
複製代碼
而後按照提示須要輸入的命令進行輸入ubuntu
最後保存設置
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 update
複製代碼
如vue-cli的項目,自動部署到服務器,自動執行npm run build 命令,生成的dist目錄,指定到nginx的靜態文件目錄下。
pm2 deploy deploy.yaml production setup
複製代碼
解決方案:使用git命令行來執行
歡迎關注個人公衆號「碼上開發」,天天分享最新技術資訊。關注獲取最新資源