当前位置:论坛首页 > Linux面板 > 求助

【待解决】咨询从软件商店迁移 pm2 到“网站-node 项目”....

发表在 Linux面板2023-12-27 14:42 [复制链接] 4 1394

本帖最后由 宝塔用户_hciqoh 于 2023-12-28 13:32 编辑

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:免费版 8.0.3
系统版本:Linux
问题描述: 从软件商店中的 pm2迁移到“网站”--“node 项目”后 node 项目使用 pm2 无法启动
相关截图(日志、错误):看不到什么报错,就是提示项目无法启动

我试了两种启动参数配置:
第一种是选“自定义启动命令”,命令里是直接通过文件选择,选到启动的文件
第二种是选“自定义启动命令”,命令是输入的是:pm2 start pm2.config.js  (pm2.config.js 是我配置的 pm2 文件)

pm2.config.js里的内容:
module.exports =
{
    "apps": [
        {
            "name": "dataCenter",
            "script": "app.js",
            "watch": true,
            "ignore_watch": ["node_modules", "files","logs"],
            "env": {
                "NODE_ENV": "production",
                "INFLUXDB_TOKEN": "-yTcq9Le6Wg==",
                "INFLUXDB_URL": 'http://ip.ip.ip.ip:8086',
                "INFLUXDB_ORG": 'test',

                "REDIS_PORT": '37690',
                "REDIS_HOST": 'ip.ip.ip.ip',
                "REDIS_PASSWORD": 'test',
                "REDIS_DB": 0
            }
        }
    ]
}


这个配置在软件商店里的 pm2 中直接选中这个配置文件项目就可以顺利启动


使用道具 举报 只看该作者 回复
发表于 2023-12-27 16:18:39 | 显示全部楼层
尝试使用root用户启动
在ssh命令行使用命令启动是否正常,命令无法启动,项目那里也是无法启动的
或者也可以继续用pm2创建
使用道具 举报 回复 支持 反对
发表于 2023-12-27 17:11:48 | 显示全部楼层
本帖最后由 宝塔用户_hciqoh 于 2023-12-27 22:08 编辑
阿珂 发表于 2023-12-27 16:18
尝试使用root用户启动
在ssh命令行使用命令启动是否正常,命令无法启动,项目那里也是无法启动的
或者也可 ...
前提:
1.删除了“应用商店”里的 pm2
2.单纯使用“网站”--“nodejs 项目”

试了一下,发现几个问题1.进入系统之后发现可以使用“nodejs 项目”里的配置启动项目,虽然直接提示服务启动失败,但是服务其实是已经启动了(接口可以请求通)。奇怪的是“nodejs 项目”里依然显示启动失败
iShot_2023-12-27_21.53.35.png
2.然后是系统日志,从“nodejs 项目” 里看到说日志目录在“/www/wwwlogs/nodejs”,这里的日志只有 pm2 启动的日志显示为:
iShot_2023-12-27_22.01.03.png 我理解为服务其实已经正常启动了

3.这个日志有 2 个问题,第一个问题是,这个只有服务启动相关的 log,并没有 错误日志和运行日志


证明项目启动还有一点就是,在/www/wwwlogs/nodejs这个日志里显示的 pid 为“62973”,使用命令查看,确实启动的也是这个 node 服务
iShot_2023-12-27_22.04.53.png



而且我还发现,我的服务上其实有两个pm2 进程,不知道是不是因为曾经安装过应用商店里的 pm2 导致的,或者说我现在的问题是由这两个pm2 导致的
iShot_2023-12-27_22.06.34.png


麻烦各位大佬给定位下,到底是什么问题导致的,我应该如何处理才能在“nodejs 项目”里正确的使用 pm2
使用道具 举报 回复 支持 反对
发表于 2023-12-28 00:22:55 | 显示全部楼层
阿珂 发表于 2023-12-27 16:18
尝试使用root用户启动
在ssh命令行使用命令启动是否正常,命令无法启动,项目那里也是无法启动的
或者也可 ...

我又找了一太新的服务器,没有安装过应用商店里的pm2
我的操作步骤是:
1.配置一个新的网站 nodejs 项目
2.配置自定义启动参数未:pm2 start ecosystem.config.js
3.点击服务状态里的“启动”

PS:请忽略我未把 pm2 启动的项目名称改成 testpm2 的问题

看到的结果是:
1.node 项目确实启动了(因为我自己设置的日志文件里已经显示的我的项目启动后控制台需要打印的信息)
2.系统 默认的日志目录(/www/wwwlogs/nodejs)里也已经有了pm2 正确启动的信息
iShot_2023-12-28_00.17.08.png
3.ps -ef|grep pm2命令能看到启动了三个 pm2 的进程,同时ps -ef|grep node 命令里的 node 进程也能跟上面提到的日志里的 pid 匹配上
1703693952270.jpg

4.但是问题是从宝塔里看,项目依然是未启动
iShot_2023-12-28_00.20.34.png

5.在控制台(root 权限)下执行 pm2 list,中没有任何 node 项目

使用道具 举报 回复 支持 反对
发表于 2024-7-26 12:04:17 | 显示全部楼层
阿珂 发表于 2023-12-27 16:18
尝试使用root用户启动
在ssh命令行使用命令启动是否正常,命令无法启动,项目那里也是无法启动的
或者也可 ...

为什么我使用startPM2命令启动了项目,并且项目正常运行可是项目显示启动失败,启动后我这里截图是我重启命令的
112430qlty33y4ueofyuo2.png
112430kqpi28fcmvwm5o2i.png
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

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

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

紧急运维服务

响应时间:3分钟

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

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

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

立即付费处理

工作时间:09:00至24:00

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