首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PM2说可执行文件是“错误的”,但是没有正确地重新启动;仍然需要手动重新启动

PM2是一个流行的Node.js进程管理工具,用于在生产环境中管理和监控Node.js应用程序。它可以帮助开发人员简化应用程序的部署和运维工作。

在这个问答内容中,问题描述了使用PM2时遇到的问题:可执行文件是“错误的”,但是没有正确地重新启动,仍然需要手动重新启动。

针对这个问题,可能有以下几个原因和解决方法:

  1. 可执行文件错误:首先,需要确保可执行文件的路径和文件名是正确的。可以通过检查PM2配置文件或命令行参数来确认可执行文件的路径和名称是否正确。
  2. 重新启动问题:如果PM2没有正确地重新启动应用程序,可能是由于应用程序的代码存在问题或者PM2本身的配置有误。可以尝试以下解决方法:
    • 检查应用程序的代码:确保应用程序的代码没有错误或异常,可以通过在开发环境中进行调试来排查问题。
    • 检查PM2配置:确认PM2的配置文件是否正确,包括应用程序的启动命令、环境变量等。可以尝试重新配置PM2或者使用命令行参数来启动应用程序。
    • 更新PM2版本:如果使用的是旧版本的PM2,可能存在一些已知的问题或bug。可以尝试更新到最新版本的PM2来解决问题。
  • 手动重新启动:如果以上方法都无法解决问题,可以考虑手动重新启动应用程序。可以使用PM2的命令行工具手动停止应用程序,并再次使用命令行工具启动应用程序。

总结起来,对于PM2说可执行文件是“错误的”,但是没有正确地重新启动,仍然需要手动重新启动的问题,可以通过检查可执行文件路径和名称、检查应用程序代码、检查PM2配置、更新PM2版本以及手动重新启动等方法来解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用pm2管理go应用进程

pm2一个进程管理工具,可以用它来管理你node进程,并查看node进程状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs世界中用很多。...但是pm2强大之处不止于此,你go应用也可以用它来管理。之前go应用使用supervisor负责监控应用,类似的工具还有forever,异常崩溃时自动守护重启,但是pm2更简单好用啊。...假如你go应用名字叫main可执行文件 ,那么直接pm2 start main即可,内存和cpu统统能够监控。 ?.../应用日志,使用 pm2 logs www 2.13 重新启动进程/应用 pm2 restart www 2.14 重新启动所有进程/应用 pm2 restart all ?...-o --output :标准输出日志文件路径。 -e --error :错误输出日志文件路径。

3.6K11

如何在Ubuntu 16.04上设置Node.js生产应用程序

但是,为了使某些npm软件包能够正常工作(例如需要从源代码编译代码软件包),您需要安装build-essential软件包: sudo apt-get install build-essential...一旦你确定它正在工作,按Ctrl + C终止应用程序(如果你还没有)。 安装PM2 现在我们将安装PM2,它是Node.js应用程序进程管理器。...开始申请 您要做第一件事使用pm2 start命令在后台运行您应用程序hello.js: pm2 start hello.js 这也将您应用程序添加到PM2进程列表中,每次启动应用程序时都会输出该列表...如果应用程序崩溃或被杀死,则在PM2下运行应用程序将自动重新启动,但需要执行额外步骤以使应用程序在系统启动(启动或重新启动)时启动。幸运PM2提供了一种简单方法,即startup子命令。...键入以下命令确保没有引入任何语法错误: sudo nginx -t 接下来,重启Nginx: sudo systemctl restart nginx 假设您Node.js应用程序正在运行,并且您应用程序和

2.1K00
  • 进程管理:通过PM2来管理Node、PHP CLI等应用运行

    什么PM2?...PM2官网:https://pm2.keymetrics.io/docs 1.介绍 PM2.js一个Node.js应用程序进程管理器,可以帮助开发人员在生产环境中管理和监控Node.js应用程序或其他程序进程...它可以自动重启应用程序,监控应用程序资源使用情况,以及提供实时日志记录和错误处理等功能。此外,PM2.js还可以通过集成API和CLI工具来管理和监控多个Node.js应用程序。...提高应用程序性能:负载均衡器可以根据服务器负载情况,将请求分配到负载较低服务器上,从而提高应用程序性能。 实现高可扩展性:负载均衡器可以根据需要动态地添加或删除服务器,从而实现高可扩展性。...# 备份当前应用列表 $ pm2 save # 手动恢复以前保存进程(通过 pm2 save): $ pm2 resurrect # 禁用和删除当前启动配置: $ pm2 unstartup 4

    1.5K40

    在腾讯云CVM上安装熟悉Node.js

    准备 在开始本文之前,您需要安装Debian 8系统到服务器,这里需要创建自定义镜像,详见文档:https://cloud.tencent.com/document/product/213/4942 本文并默认使用...但是,为了使某些软件包能够正常工作(例如需要从源代码编译代码软件包),您需要安装软件包build-essential: sudo apt-get install build-essential Node.js...如果应用程序崩溃或被杀死,则在PM2下运行应用程序将自动重新启动,但需要执行额外步骤以使应用程序在系统启动(启动或重新启动)时启动。幸运PM2提供了一种简单方法,即startup子命令。...使用此命令停止应用程序(指定PM2 App name或id): pm2 stop app_name_or_id 使用此命令重新启动应用程序(指定PM2 App name或id): pm2 restart...键入以下命令确保没有引入任何语法错误: sudo nginx - t 接下来,重启Nginx: sudo systemctl restart nginx 接下来,如果已启用防火墙,则允许防火墙通过Nginx

    6.7K50

    如何在Debian 9上设置Node.js生产应用程序

    这意味着应用程序将在重新启动或失败时重新启动,并且可以安全地在生产环境中使用。 在本教程中,您将在单个Debian 9服务器上设置生产就绪Node.js环境。...如果您没有域名,建议您先去这里注册一个域名,您需要将域名解析到您服务器,您可以使用腾讯云云解析进行快速设置。 安装了Nginx,如在Debian 9上如何安装Nginx中所述。...v8.11.4 注意:从NodeSource PPA安装时,Node.js可执行文件命名为nodejs,而不是node。...如果应用程序崩溃或被杀死,则在PM2下运行应用程序将自动重新启动,但我们可以采取额外步骤,使用startup子命令在系统启动时启动应用程序。...键入以下命令确保没有引入任何语法错误: sudo nginx -t 重启Nginx: sudo systemctl restart nginx 假设您Node.js应用程序正在运行,并且您应用程序和

    2K51

    pm2:从小白到写出一键部署前后端工程

    拖拽生成 Table 页面 拖拽组件,从菜单栏到中间区域,或者同区域内更换位置,不同区域可以更换,只是目前,没有一个组件会同时可以出现在 2 个区域,所以此功能暂时无法看到; 单击编辑属性 右击删除...root@47.105.xxx.xx # 更新代码 cd /srv/bms-code-auto-generate git pull origin master # 远程启动后端,如果已经启动着,需要先关闭再重新启动...PM2 一个守护进程管理器,它将帮助您管理和保持您应用程序在线。 第一版 简单使用pm2 去启动index.js文件 在服务器上。...后来发现,去掉--watch不会重启,并且下载链接不会报错,但是,这时候,又出现了一个问题,就是,当代码有更新时,node服务并不会自动重新启动,这就又回到了“原始农业”时代,我觉得应该监控文件可配置...现代农业 虽然上面的后端部署方式有了很大改进,但是还是有个弊端就是,需要每次登陆服务器并且去手动拉代码,这样很麻烦。 于是写了一个一键部署命令。

    82610

    使用pm2部署node生产环境

    一、PM2是什么 可以用于生产环境Nodejs进程管理工具,并且它内置一个负载均衡。它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能。...; 好像需要修改内容,浏览器对修改内容没有显示出来?...通过这个很常用场景,我们了解到要避免这些麻烦一个服务器至少需要有:后台运行和自动重启,这两个能力。.../dist 8080将目录dist作为静态服务器根目录,端口为8080 删除应用pm2 delete [options] 删除指定应用;如果修改了应用配置行为,需要先删除应用,重新启动后方才会生效...[ID] //根据应用ID关闭并删除应用 pm2 kill 杀掉pm2管理所有进程; pm2 logs 查看指定应用日志,即标准输出和标准错误

    3.9K40

    如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量 | Linux 中国

    否则,你系统将会向你控诉 “java_home 环境变量没有设置”。 在这篇初学者教程中,我将向你展示在 Ubuntu 上正确地设置 JAVA_HOME 变量步骤。...使用 which 命令 来获取 Java 编译器可执行文件位置: which javac 在这里问题,它给出位置实际上一个 符号链接 。...你将需要按照下图执行几次: image.png 最简单方法直接使用下面这条命令跟随符号链接来以获取实际可执行文件: readlink -f `which java` readlink 命令会跟随一个符号链接...这里上面的三个命令全部输出: image.png 现在,即使你退出会话或重新启动系统,JAVA_HOME 环境变量都仍将设置为你所具体指定值。这就是你所想要,对吧?...注意,如果你将来更改默认 Java 版本,你将需要更改 JAVA_HOME 环境变量值并将其指向正确可执行文件路径。

    12.5K71

    博客改造之旅

    原因 ​ 之前博客用umi来编写,快速开发,但是客户端渲染,首屏加载比较慢,不利于seo等,于是我便瞄准了next.js。...但是每次都需要自己手动部署,还是比较麻烦,在这次周末,我便用上午时光来学习cicd自动化部署。...踩坑node项目自启 到了最关键一步,build以后需要重新启动node项目,因为我用宝塔 所以最开始为了方便,我都是直接添加node项目,然后想去通过node restart 项目,但是一直失败...,后面有去改pm2命令 但是也一直有问题 显示pm2里面没这个项目,我一度感觉宝塔里面的node项目不是真的用pm2.。...虽然他显示可以用pm2启动项目,我查看日志,也是显示pm2启动项目成功,但是我去pm2 restart项目,一直没用。真的气死我了。最后我直接用pm2去添加项目,然后终于是可以自动重启项目了。

    28520

    如何在Ubuntu 18.04上配置Node.js生产环境应用

    这意味着它们将在重启故障时再次重新启动,并且可以安全地用于生产环境中。 在本教程中,您将在单个Ubuntu 18.04服务器上设置生产就绪Node.js环境。...该服务器将运行由PM2管理Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序安全访问。 准备 本教程需要您具有以下内容: Ubuntu 18.04服务器设置。...如果没有看到预期输出结果,请确保Node.js应用程序正在运行并配置为侦听在正确地址和端口。 一旦你确定它正常工作,按下CTRL+C即可终止应用程序(如果您还没有终止程序)。...PM2还维护其他信息,例如PID进程,其当前状态和内存使用情况。 如果应用程序崩溃或被杀死,在PM2下运行应用程序将自动重新启动,使用startup子命令在系统启动时启动应用程序。...输入以下命令确保没有引入任何语法错误: $ sudo nginx -t 重启Nginx: $ sudo systemctl restart nginx 假设您Node.js应用程序正在运行,并且您应用程序和

    2.8K30

    如何在Ubuntu 16.04上使用PM2和Nginx开发Node.js TCP服务器应用程序

    TCP(传输控制协议)一种网络协议,可在应用程序之间提供可靠,有序和错误检查数据流传输。TCP服务器可以接受TCP连接请求,一旦建立连接,双方都可以交换数据流。...,但我们仍然需要手动更改文件以添加其他部分,包括启动命令。...但是,如果我们重启机器,它将不再运行,所以让我们为它创建一个systemd服务。 运行以下命令以生成和安装PM2systemd启动脚本。...,您可以使用错误日志路径打开并查看错误日志以调试错误: cat /home/tcp/.pm2/logs/server-error-0.log 如果更改服务器代码,则需要重新启动应用程序进程以应用更改...检查您Nginx配置以确保您没有引入任何语法错误: sudo nginx -t 接下来,重新启动Nginx以启用TCP和UDP代理功能: sudo systemctl restart nginx 接下来

    1.5K30

    关于 Java 内存泄露错误认知,你所应该了解

    由于这些未使用对象仍然被引用,可能会导致内存不足错误(OutOfMemoryError),从而影响应用程序可靠性和性能。...认知 3: Java 具有自动内存管理,无需对其进行干涉 有时候技术人员错误地认为 Java 完全不需要关注内存管理,因为它具有自动垃圾回收机制。然而,这种观点误导性。...3、未关闭 JDBC 连接、ResultSet 和语句对象、文件句柄和套接字等资源: 在使用需要手动管理资源时,如 JDBC 连接、ResultSet 和语句对象、文件句柄和套接字等,如果没有正确地关闭或释放这些资源...虽然高质量代码可以提高程序可靠性和性能,但并不能保证绝对没有内存泄漏问题。即使代码在其他方面达到了高质量标准,仍然有可能存在内存泄漏风险。...虽然 GC 可以帮助减少手动内存管理负担,但对于确保内存泄漏问题解决,仍需要开发人员主动参与和正确编码实践。 以上为在实际开发活动中最为常见错误认知场景,供大家参考。

    1.3K73

    世界由懒人改变

    最近把放下了近大半年Hexo博客重新拾起来了,写篇文章记录一下。至于当初为什么会放下,其中一个原因用户体验太差,还需要手动创建移动md文件,仿佛回到了原始社会。其实最重要原因自己太懒。...最近重新拾起来Hexo博客原因也挺简单,大脑用来思考事物而不是记录事物,得有一个地方记录平时一些琐碎想法,公众号和技术博客显然不是太合适。但是一想起Hexo那原始操作,就有点头大。...通过浏览器直接管理本地md文件 一键发布,不用手动执行hexo命令 下面解决过程: 1.安装Node.js环境 2.安装Git 3.安装Hexo 在自己认为合适地方创建一个文件夹,然后在文件夹空白处按住...你也可以根据自己需要更换主题,这里不再赘述。...npm install --save hexo-admin 使用 hexo s重新启动Hexo服务,然后访问 localhost:4000/admin(这里使用默认端口),便可以使用浏览器管理我们Hexo

    55320

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程一个程序员必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他路由地址比如127.0.0.1/大约需要15秒时间,也可以一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好。...Node.js 开发过程中,错误会引起整个应用退出,应用健壮性值得考验,尤其错误异常抛出,以及进程守护必须要做。...原因child_process操作子进程时,可以隐式创建多个TCP服务器,对比上面的两幅图应该能理解我内容。...当使用该选项时,kill命令也试图杀死所留下子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    1.1K30

    UMAMI隐私统计安装及配置

    环境 这里使用两种方法去安装umami,第一种使用pm2或者supervisor直接运行在本机环境,第二种使用docker pull并build镜像。...需要准备有: MySQL nodejs npm pm2(或者supervisor) Ubuntu系列安装Nodejs、npm: curl -sL https://deb.nodesource.com/...启动程序 按照官方readme直接npm start可以,默认会运行在3000,但是我们如果关闭了终端会话,也会停止运行, 所以需要使用PM2或者supervisor进行后台保活运行,...如果我们使用第一种本机环境运行,那么可以通过npm安装pm2:npm install pm2 -g 在umami目录下执行: pm2 start npm --name umami -- start...切换到你umami目录pull一份最新代码git pull 重新安装node modules npm install 重新编译npm run build 重新启动PM2pm2 restart umami

    1.7K40

    记一下 pm2 常用配置及命令

    PM2 node 进程管理工具,可以利用它来简化很多 node 应用管理繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。...logs # 查看实时日志 pm2 restart [name] # 重新启动服务 启动 参数说明: --watch:监听应用目录变化,一旦发生变化,自动重启。...-o --output :标准输出日志文件路径。 -e --error :错误输出日志文件路径。 监听 pm2 start ..../bin/www --watch #注意,这里用了--watch参数,意味着当你应用代码发生变化时,pm2会帮你自动重启服务 配置及部署 部署配置文件示例 { // 数组中放需要发布项目一些变量定义...// 启动项目所需要环境变量 "env": { "COMMON_VARIABLE": "true", //设置为true 可以在启动时传入外部变量进去 }, "

    4.8K20

    如何建立一个Node.js应用生产在Ubuntu 14.04

    Node.js应用程序可以在命令行上运行,但是我们将教你如何将它们作为一个服务来运行,所以它们会在重新启动或失败时自动重启,所以你可以在生产环境中使用它们。...在应用程序服务器上,确保通过按CTRL + C来终止应用程序(如果还没有的话)。 安装PM2 现在我们将安装PM2,它是Node.js应用程序进程管理器。...在PM2下运行应用程序将在应用程序崩溃或被终止情况下自动重新启动,但需要额外执行一个步骤才能在系统启动(启动或重启)时启动应用程序。 幸运PM2提供了一个简单方法来完成这个启动子命令。...请注意,在没有任何参数情况下运行pm2会显示一个帮助页面,其中包括示例用法,其中涵盖了PM2使用情况,比本教程这一节更详细。...在Web服务器上,重新启动Nginx: $ sudo service nginx restart 假设您Node.js应用程序正在运行,并且您应用程序和Nginx配置正确,您应该能够通过Web服务器反向代理来访问您应用程序

    1.5K00

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程一个程序员必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他路由地址比如127.0.0.1/大约需要15秒时间,也可以一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好。...Node.js 开发过程中,错误会引起整个应用退出,应用健壮性值得考验,尤其错误异常抛出,以及进程守护必须要做。...原因child_process操作子进程时,可以隐式创建多个TCP服务器,对比上面的两幅图应该能理解我内容。...当使用该选项时,kill命令也试图杀死所留下子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    92820

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程一个程序员必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他路由地址比如127.0.0.1/大约需要15秒时间,也可以一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好。...Node.js 开发过程中,错误会引起整个应用退出,应用健壮性值得考验,尤其错误异常抛出,以及进程守护必须要做。...原因child_process操作子进程时,可以隐式创建多个TCP服务器,对比上面的两幅图应该能理解我内容。...当使用该选项时,kill命令也试图杀死所留下子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    2.4K10
    领券