问题标签 [pm2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
740 浏览

node.js - 如何使用 PM2 在 ubuntu 上的启动脚本中包含 mongodb 和 redis?

我在 ubuntu digitalocean droplet 上运行 node.js express 应用程序。我正在使用 PM2 启动和监控我的应用程序。我想确保 - 如果服务器需要重新启动/崩溃,PM2 会在服务器重新启动时包含我的 Redis 和 Mongo 服务,因为它们对我的应用程序至关重要。我认为这是一个非常直截了当的通用需求,但无法找到直截了当的答案。我会很感激任何帮助。干杯半开

0 投票
1 回答
1252 浏览

node.js - Nodejs、PM2 和 nginx 部署安全性?

网上有一些指南展示了如何让 nodejs 在服务器上运行,但它们往往会跳过一些关于安全性的细节。这是一个有点牵强的问题,我不知道从哪里开始。我想知道是否有人可以澄清以下细节。

首先,我的设置:

  • 我已经使用非 sudo 用户在本地安装了节点,因为使用管理员运行节点是一个坏主意:

    PM2我可以通过做来运行应用程序pm2 start app.js

    我的nginx配置:

    /li>

我的担忧是:

(1) 应用- 主应该app/住在里面/home/appuser吗?

  • 让我的应用程序文件存在于我的非 sudo 用户家中是否有危险?如果是这样,我的应用程序文件应该放在哪里?

  • 我想知道是否public/应该在不同的地方,而不是与应用程序文件位于同一个文件夹中。我不希望应用程序源文件泄漏,尤其是我的config.js其中包含一些敏感信息,例如我的数据库身份验证详细信息和电子邮件身份验证详细信息。

    如果它应该被移动,/public相对于哪里生活app/

  • 现在权限app/chown -R appuser:appuser app/,因此用户拥有所有文件。我应该在我的应用程序文件夹上设置其他权限吗?

(2) PM2 - 由于我在本地安装了 nodejs 及其模块,pm2服务器重启后如何安全地重启我的 nodejs 应用程序?

  • 我的理解是pm2-init.sh它将存在于 中/etc/init.d/,如果我pm2使用 sudo 全局安装,这会自动发生。

    我应该如何pm2使用我的非 sudo 用户安全地重新启动我的应用程序?

(3) NGINX

  • 如果他们是这样送达的public/,我怎样才能安全地送达:nginx

    /li>
  • 404我的应用程序处理路线,如果找不到路线,应该抛出。但是是否有人可以解决这个问题并恶意制作我的应用程序或nginx浏览其他目录?

    即,在应用程序目录之外

    或者,就在我的应用程序本地

    如果可能的话,是否可以在 nodejs 或 nodejs 中设置额外的安全预防措施nginx来防止这种情况发生?

0 投票
1 回答
11209 浏览

node.js - pm2 start app.js 在 15 次重启后退出

npm start 会很好地启动我的应用程序,但是当我这样做时:

我得到:

在我得到的日志中:

这是我的 package.json:

节点版本:v0.10.38 pm2 版本:0.12.15

我该如何调试呢?我不知道为什么它失败了,还有其他地方需要检查吗?我的 app.js 文件?

0 投票
1 回答
119 浏览

node.js - 更新到最新的 pm2 时出错

我尝试使用“npm install pm2@latest -g”(Cent OS 6)更新 pm2,但收到以下错误。现在,我不再能够使用“pm2 list”(它说找不到命令)。您的帮助将不胜感激。

npm 错误!Linux 2.6.32-042stab094.8 npm 错误!argv "node" "/home/username/local/bin/npm" "install" "pm2" "-g" npm ERR!节点 v0.12.1 npm 错误!npm v2.7.3

npm 错误!无法读取未定义的 npm ERR 的属性“修剪”!npm 错误!如果您需要帮助,您可以在以下位置报告此错误:npm ERR!https://github.com/npm/npm/issues

0 投票
3 回答
4035 浏览

node.js - PM2集群模式只启动一个实例

我正在使用 PM2 进行集群。使用 NodeJS 0.10.31 和 PM2 0.12.14 时它工作得很好。我将 NodeJS 升级到 0.12.4,将 PM2 升级到 0.12.16,现在在启动以下命令时:

我得到:

我预计有 5 个集群,但我只得到一个(表中的一行)。到目前为止,我没有在日志中看到任何内容。任何想法 ?

0 投票
1 回答
568 浏览

sails.js - 使用 pm2 生产sailsjs 应用程序,无需停机

我有一个以集群模式运行的sailsjs 应用程序,带有pm2 和两个实例。想要这两个实例的主要原因之一是我可以重新启动/更新应用程序,而不必关闭整个应用程序。

在此处输入图像描述

但是,在重新启动一个实例的过程中pm2 restart 4,如果我刷新它,该站点就会很不稳定(这是技术术语)。我假设这是因为 grunt 正在做这件事并且 .tmp 文件夹在这两个实例中都被破坏了?

Sailsjs 唯一真正的方法是让两个完整的实例在不同的端口上运行并使用 nginx 之类的东西作为负载均衡器,还是我错过了 PM2 允许分阶段重启而没有任何停机时间或可用资源中断的东西?

0 投票
2 回答
15839 浏览

node.js - 如何重置pm2的id?

我用的是 pm2。在我多次启动我的应用程序后,id 增加了。我把pm2里的都删了,重新开始,但是id不再从0开始计数了。我怎样才能重置它?

0 投票
2 回答
2537 浏览

node.js - 无法在 docker 容器中列出 pm2

我用 Node.js 和 pm2 构建了一个 Docker 映像。我启动了容器:

然后我进入容器:

在容器中,执行命令:

它卡在这里:

在此处输入图像描述

Ps:我的应用程序在 Docker 容器中运行良好,如果我添加CMD pm2 start app.js.Dockerfile

0 投票
0 回答
132 浏览

node.js - 已安装 node-uuid 但 require('node-uuid') 失败

我的 PM2 日志中出现错误,表明我的 player.js Mongoose 模型中尝试加载 node-uuid 的行失败。我不明白为什么,因为它已明确安装,并且 node_modules 文件夹及其下面的所有内容都归运行节​​点应用程序的用户所有。

我对这个错误完全感到困惑......

在此处输入图像描述

在此处输入图像描述

0 投票
4 回答
8017 浏览

node.js - babel-node 的永远错误

我有一个简单的节点服务器:

//server.js

当我尝试使用Forever运行它时:

forever start -c "babel-node --experimental" server.js ,由于使用import

我也试过pm2nodemon,我也有同样的错误。对于 pm2,我关注了这个问题https://github.com/Unitech/PM2/issues/1167,但它也没有工作。我在这里做错了什么?