pm2 起不同端口的node 服务 存在问题
来源:10-2 配置 PM2 一键部署线上项目结构

爱睡觉的小猫咪
2018-10-15
在解决公司测试环境部署的问题,不同的测试分支,需要不同的端口号,如何让pm2按照变量的形式 启动不同端口的 node 服务呢?
目前我采用的方式是用shell脚本启动服务:
其中$server 为启动服务的名称:
主要的相关脚本为:
hasStart=`ps aux|grep node|grep $port`
if [ "$hasStart" != "" ]; then
pm2 reload $server
else
pm2 start npm --name $server -- run start $port
fi
发现有问题
- cpu占用率太高,几个服务起起来,机器快卡死了
请问有什么好的解决方法?
写回答
1回答
-
Scott
2018-10-16
我会选择更简单粗暴一些的做法,端口号跟着测试分支走,写到每个测试分支的配置文件里,每次从本地 deploy 的时候,都去读取该分支配置好的端口号,把服务开起来,部署到不同的服务器目录里。
cpu 占用高要看下你是不是开 cluster 模式的,因为是测试环境,可以考虑用单核来跑,禁用多核模式看看,另外我直觉上可能不是部署的问题,是不是本身这个 Node 服务代码问题,占用就高。
你可以 pm2 list 看看开起来的每个服务,cpu 和内存占用各多少,跟只开启一个有区别没
112018-10-17
相似问题