当前位置:论坛首页 > Linux面板 > 建议

【奖励300宝塔币】关于PM2添加项目后无法获取端口号的修改.

发表在 Linux面板2021-4-13 17:51 [复制链接] 10 5358

测试系统:DEEPIN 20
宝塔面板:7.5.2
PM2:5.0
当前系统下,更新后的PM2依旧无法正确获取项目端口

1.png

测试后发现是一个判断导致的,打开pm2_main.py,第248行

2.png

可见ptmp[1]==20101,但是appInfo['pid']==90982,这里就是问题所在了,现在修改一下,去掉判断改为:

  1. appInfo['port'] = ptmp[8].split(':')[1]
复制代码

3.png

刷新来看看,这时端口号就有了,跑起来

4.png
5.png

接着再试一下nuxt
6.png
7.png
跑起来
8.png
紧接着,bug又出现了:两个项目的端口都是一样的,似乎是循环的问题,下回再改改。。。

9.png

PS:以上测试仅在当前系统中有效。
10.png


使用道具 举报 只看该作者 回复
发表于 2021-4-14 10:34:38 | 显示全部楼层
您好,感谢反馈,经过几小时的反复测试各种nodejs项目,终于找到问题原因:

原因:因部分项目是自己fork一个子进程来监听web端口的,导致从pm2启动的主进程中无法找到监听端口

解决方法: 我们已修复此问题,请将pm2管理器升级至 5.1
使用道具 举报 回复 支持 反对
发表于 2021-4-16 18:03:01 | 显示全部楼层
良哥 发表于 2021-4-14 10:34
您好,感谢反馈,经过几小时的反复测试各种nodejs项目,终于找到问题原因:

原因:因部分项目是自己fork一 ...

刚升级5.1,发现端口号还是获取不到,4.2.4的正常没问题,升级后就5.0(含 5.0)就获取不到

系统:CentOS 7.4.1708(Py2.7.5)
使用道具 举报 回复 支持 反对
发表于 2021-4-18 12:40:10 | 显示全部楼层
良哥 发表于 2021-4-14 10:34
您好,感谢反馈,经过几小时的反复测试各种nodejs项目,终于找到问题原因:

原因:因部分项目是自己fork一 ...

4.2.4的正常没问题,升级后就5.0(含 5.0)就获取不到端口号
使用道具 举报 回复 支持 反对
发表于 2021-4-19 08:28:08 | 显示全部楼层
良哥 发表于 2021-4-14 10:34
您好,感谢反馈,经过几小时的反复测试各种nodejs项目,终于找到问题原因:

原因:因部分项目是自己fork一 ...

升级到了5.1,负载实例数量为1时的fork模式可以获取端口,负载实例数量>1,开启cluster还是不行,app.js
  1. const http = require('http')
  2. const hostname = '127.0.0.1'
  3. const port = 3889
  4. const server = http.createServer((req, res) => {
  5.   res.statusCode = 200
  6.   res.setHeader('Content-Type', 'text/plain')
  7.   res.end('hello pm2')
  8. })
  9. server.listen(port, hostname, () => {
  10.   console.log(`http://${hostname}:${port}/`)
  11. })
复制代码


使用道具 举报 回复 支持 反对
发表于 2021-4-20 10:00:23 | 显示全部楼层
mazzy 发表于 2021-4-19 08:28
升级到了5.1,负载实例数量为1时的fork模式可以获取端口,负载实例数量>1,开启cluster还是不行,app.js

...

感谢反馈,已针对进行优化,请更新至5.2
--------------------------------------------------------
PM2管理器 5.2更新日志
--------------------------------------------------------
1、增加集群分组
2、增加自定义监听端口功能
3、修复集群模式下无法获取端口的问题
4、修复集群模式下无法控制整个集群状态的问题
5、其它细节调整
使用道具 举报 回复 支持 反对
发表于 2021-4-20 10:00:41 | 显示全部楼层
捷客通推广 发表于 2021-4-18 12:40
4.2.4的正常没问题,升级后就5.0(含 5.0)就获取不到端口号

感谢反馈,已针对进行优化,请更新至5.2
--------------------------------------------------------
PM2管理器 5.2更新日志
--------------------------------------------------------
1、增加集群分组
2、增加自定义监听端口功能
3、修复集群模式下无法获取端口的问题
4、修复集群模式下无法控制整个集群状态的问题
5、其它细节调整
使用道具 举报 回复 支持 反对
发表于 2021-4-22 09:52:30 | 显示全部楼层
本帖最后由 捷客通推广 于 2021-4-22 09:57 编辑
良哥 发表于 2021-4-20 10:00
感谢反馈,已针对进行优化,请更新至5.2
--------------------------------------------------------
PM2 ...

怎样才可以升级到5.2 ,我是的5.1怎么没有看到升级更新提示 快照32.png
使用道具 举报 回复 支持 反对
发表于 2021-4-22 09:57:48 | 显示全部楼层
怎样才可以升级到5.2 ,我是的5.1怎么没有看到升级更新提示
使用道具 举报 回复 支持 反对
发表于 2021-4-22 09:58:34 | 显示全部楼层
捷客通推广 发表于 2021-4-22 09:52
怎样才可以升级到5.2 ,我是的5.1怎么没有看到升级更新提示

软件商店内的右上角点击更新软件列表看看
使用道具 举报 回复 支持 反对
发表于 2021-4-22 10:44:20 | 显示全部楼层
谢花郎 发表于 2021-4-22 09:58
软件商店内的右上角点击更新软件列表看看

已更新5.2,但是还是获取不到端口号,虽然手动可以添加,但是,还是不行,访问不到提示502
已经私信把面版账号密码发送给您,麻烦看一下,谢谢
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表