问题标签 [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.
node.js - 如何使用 PM2 在 ubuntu 上的启动脚本中包含 mongodb 和 redis?
我在 ubuntu digitalocean droplet 上运行 node.js express 应用程序。我正在使用 PM2 启动和监控我的应用程序。我想确保 - 如果服务器需要重新启动/崩溃,PM2 会在服务器重新启动时包含我的 Redis 和 Mongo 服务,因为它们对我的应用程序至关重要。我认为这是一个非常直截了当的通用需求,但无法找到直截了当的答案。我会很感激任何帮助。干杯半开
node.js - Nodejs、PM2 和 nginx 部署安全性?
网上有一些指南展示了如何让 nodejs 在服务器上运行,但它们往往会跳过一些关于安全性的细节。这是一个有点牵强的问题,我不知道从哪里开始。我想知道是否有人可以澄清以下细节。
首先,我的设置:
我已经使用非 sudo 用户在本地安装了节点,因为使用管理员运行节点是一个坏主意:
PM2
我可以通过做来运行应用程序pm2 start app.js
。我的
/li>nginx
配置:
我的担忧是:
(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
如果他们是这样送达的
/li>public/
,我怎样才能安全地送达:nginx
404
我的应用程序处理路线,如果找不到路线,应该抛出。但是是否有人可以解决这个问题并恶意制作我的应用程序或nginx
浏览其他目录?即,在应用程序目录之外
或者,就在我的应用程序本地
如果可能的话,是否可以在 nodejs 或 nodejs 中设置额外的安全预防措施
nginx
来防止这种情况发生?
node.js - pm2 start app.js 在 15 次重启后退出
npm start 会很好地启动我的应用程序,但是当我这样做时:
我得到:
在我得到的日志中:
这是我的 package.json:
节点版本:v0.10.38 pm2 版本:0.12.15
我该如何调试呢?我不知道为什么它失败了,还有其他地方需要检查吗?我的 app.js 文件?
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
node.js - PM2集群模式只启动一个实例
我正在使用 PM2 进行集群。使用 NodeJS 0.10.31 和 PM2 0.12.14 时它工作得很好。我将 NodeJS 升级到 0.12.4,将 PM2 升级到 0.12.16,现在在启动以下命令时:
我得到:
我预计有 5 个集群,但我只得到一个(表中的一行)。到目前为止,我没有在日志中看到任何内容。任何想法 ?
sails.js - 使用 pm2 生产sailsjs 应用程序,无需停机
我有一个以集群模式运行的sailsjs 应用程序,带有pm2 和两个实例。想要这两个实例的主要原因之一是我可以重新启动/更新应用程序,而不必关闭整个应用程序。
但是,在重新启动一个实例的过程中pm2 restart 4
,如果我刷新它,该站点就会很不稳定(这是技术术语)。我假设这是因为 grunt 正在做这件事并且 .tmp 文件夹在这两个实例中都被破坏了?
Sailsjs 唯一真正的方法是让两个完整的实例在不同的端口上运行并使用 nginx 之类的东西作为负载均衡器,还是我错过了 PM2 允许分阶段重启而没有任何停机时间或可用资源中断的东西?
node.js - 如何重置pm2的id?
我用的是 pm2。在我多次启动我的应用程序后,id 增加了。我把pm2里的都删了,重新开始,但是id不再从0开始计数了。我怎样才能重置它?
node.js - 无法在 docker 容器中列出 pm2
我用 Node.js 和 pm2 构建了一个 Docker 映像。我启动了容器:
然后我进入容器:
在容器中,执行命令:
它卡在这里:
Ps:我的应用程序在 Docker 容器中运行良好,如果我添加CMD pm2 start app.js
.Dockerfile
node.js - 已安装 node-uuid 但 require('node-uuid') 失败
我的 PM2 日志中出现错误,表明我的 player.js Mongoose 模型中尝试加载 node-uuid 的行失败。我不明白为什么,因为它已明确安装,并且 node_modules 文件夹及其下面的所有内容都归运行节点应用程序的用户所有。
我对这个错误完全感到困惑......
node.js - babel-node 的永远错误
我有一个简单的节点服务器:
//server.js
当我尝试使用Forever运行它时:
forever start -c "babel-node --experimental" server.js
,由于使用import
我也试过pm2和nodemon,我也有同样的错误。对于 pm2,我关注了这个问题https://github.com/Unitech/PM2/issues/1167,但它也没有工作。我在这里做错了什么?