一、pm2指令说明

945 阅读2分钟

一、pm2指令说明

PM2是一个端口服务守护工具,它能统一管理主机上所有用pm2启动的项目,包括端口信息,项目信息,以及运行日志等等,方便快捷,便于管理。 1、启动项目

#启动nuxt项目并且命名为“my-nuxt” #类似于手动启动nuxt项目执行 1、npm run start pm2 start npm --name "my-nuxt" -- run start

#启动node.js项目并且命名为“my-node” #类似于手动启动node项目执行 1、node app.js pm2 start app.js --name "my-node"

... 2、管理项目

id name mode restart status cpu memory 0 node-api fork 0 online 0% 48.4mb 2 wangcong-blog fork 0 online 0% 31.7mb 1 wangcong-nuxt fork 0 online 0% 32.3mb 4 zoujuan fork 1 online 0% 3.5mb pm2 list #查看pm2管理的项目列表 pm2 restart 0 #重启 id 为 0 的项目 pm2 restart zoujuan #重启 name 为 zoujuan 的项目 pm2 stop id/name #停止 id/name 项目 pm2 del id/name #删除 id/name 项目 pm2 log id/name #查看 id/name 项目的访问日志 pm2 show id/name #查看 id/name 项目的详细信息 ... 二、使用案例

pm2管理nuxt项目案例说明 1、启动nuxt项目

#cd 到项目根目录 cd /2021web/xueerxingxi

#更新代码及打包 git pull cnpm i npm run build

#pm2 启动项目(注意空格) pm2 start npm --name "zoujuan" -- run start

#pm2 list 查看项目是否启动成功 #restart那一项如果一直没有增加就表示项目启动成功,如果错误,pm2会自动重启,所以数字会增加。 pm2 list

#也可以使用linux命令访问对应端口是否有项目运行 #如果有很多网页代码,表示项目运行成功。 curl 127.0.0.1:4003 2、重启维护更新

#cd 到项目根目录 cd /2021web/xueerxingxi

#更新代码及打包 git pull cnpm i npm run build

#pm2 重启项目 pm2 restart zoujuan

#pm2 list 查看项目是否启动成功 #restart那一项如果一直没有增加就表示项目启动成功,如果错误,pm2会自动重启,所以数字会增加。 pm2 list 三、使用脚本执行更新

在每次更新都要更新代码和安装依赖以及打包,后续还要重启,所以使用 sh 脚本更新是最方便的。 1、脚本类容

keyword=1echoe"\n=============注意:"echoe"\n=============直接在线上目录打包会导致线上短暂的访问问题"echoe"\n=============公司项目建议在其他目录或测试环境打包后,再执行更新脚本将打包后的文件复制到线上"echoe"\n=============此处非公司访问量大的项目,不存在体验问题,所以直接在线上目录打包。\n"readp"=============是否打包更新代码?[y/n]?"isPullif[[1 echo -e "\n=============注意:" echo -e "\n=============直接在线上目录打包会导致线上短暂的访问问题" echo -e "\n=============公司项目建议在其他目录或测试环境打包后,再执行更新脚本将打包后的文件复制到线上" echo -e "\n=============此处非公司访问量大的项目,不存在体验问题,所以直接在线上目录打包。\n" read -p "=============是否打包更新代码?[y/n]?" isPull if [[ isPull == 'y' ]];then

# 打包
if [ -z $1 ] || [[ "vue" =~ $keyword ]];then
	echo 更新xueerxingxi.........................................................
	cd /2021web/xueerxingxi
	git reset --hard
	git pull
	cnpm i

	echo -e '\n\n'
	echo 开始打包...
	cd /2021web/xueerxingxi
	npm run build
	
	echo -e '\n\n'
	echo 打包完成...
	
	echo -e '\n\n'
	echo 准备重启...
	pm2 restart zoujuan
fi
# 运行
echo 打包及发布到线上完成...
echo -e '\n\n'
echo 请执行 pm2 list 查看项目是否错误重启...

fi

2、脚本使用

#cd 到脚本目录 cd /2021web

#ll 可以查看目录下的所有文件 #执行脚本 sh 01 按住tab会自动补齐 sh 01-zoujuan-xueerxingxi.sh