Tag: pm2

在docker容器内重新加载代码。 PM2。 节点js

我尝试在Docker容器中重新加载我的节点js应用程序代码。 我使用pm2作为进程pipe理器。 这是我的configuration: Dockerfile FROM node:6.9.5 LABEL maintainer "denis.ostapenko2@gmail.com" RUN mkdir -p /usr/src/koa2-app COPY . /usr/src/koa2-app WORKDIR /usr/src/koa2-app RUN npm i -g pm2 RUN npm install EXPOSE 9000 CMD [ "npm", "run", "production"] ecos.prod.config.json(aka pm2 config) { "apps" : [ { "name" : "koa2-fp", "script" : "./bin/www.js", "watch" : true, "merge_logs" : true, "log_date_format": "YYYY-MM-DD […]

Elastic Beanstalk Node.Js需要PM2或Forever

在我的本地节点服务器上,任何未捕获的exception都会失败,必须手动重新启动。 所以本地运行使用永远或pm2。 但是我的开发服务器是带有Node.Js环境的AWS Elastic Beanstalk。虽然它logging了未捕获的exception并将其抛出,但它永远不会终止。即使它终止,它也会自动启动。 那么是否需要PM2或Forever来保持node.js在AWS Elastic Beanstalk环境中永远运行。

在集群模式下使用pm2和node.js安全

所以pm2是一个进程pipe理器,允许我在同一台服务器上启动我的应用程序的多个实例。 它的工作原理是负载均衡请求到所有实例。 所以我认为这是对Node.js环境进行假multithreading的一种forms。 然后我想到了以下情况: 如果我的Node.js应用程序实例连接到MongoDB并且实例0正在执行查找请求,而同时实例1实际上是插入到同一个集合中呢? MongoDB不是单线程的,它有一个线程池。 这是否意味着在MongoDB中可能存在冲突或线程安全与某种forms的互斥有关? 这只是一个例子。 pm2有可能导致这样的问题吗?

ubuntu pm2命令来运行node-express站点

如果我手动运行我的节点快车站点,它的效果很好。 sudo node bin/www 但是我的其他网站是通过pm2启动并产生的。 随着pm2我只是设置节点启动site.js文件和可执行文件,只是运行./site.js所以./site.js只需要运行./site.js 但是这是我使用pm2尝试运行的第一个node-express站点。 所以我没有得到的是如何使pm2可以运行命令node bin/www 。 我已经尝试通过使bin/www文件的可执行文件。 并且它在文件#!/usr/bin/env node有相同的第一行但是pm2不会运行它。 当我尝试pm2回声 – 帮助控制台,因为它无法解释命令sudo pm2 node bin/www 你如何得到pm2来运行这样的命令?

重新加载PM2configuration文件

编辑后重新加载PM2configuration文件时遇到问题: { "apps": [ … { "name": "foo", "script": "foo/index.js", "cwd": "foo", "watch": false } ] } 我以前做过 pm2 restart config.json 和 pm2 reload config.json 和 pm2 gracefulReload config.json 但是他们没有重新加载现有应用程序的configuration(应用程序configuration中的更改不适用)。 唯一对我有用的方法是: pm2 delete foo pm2 restart config.json 这应该怎么做?

PM2群集模式与节点群集性能

我知道PM2集群模式允许我们在一台机器上轻松扩展CPU。 它是否创build了它正在扩展的节点应用程序的多个实例? 从本质上来说,与使用Nginx等反向代理在不同端口上运行多个节点应用程序是一样的吗? 然后,有一个节点群集分叉subprocess。 与PM2集群模式相比,这种方法效率更高,因为它运行单个节点应用程序,并使用工作线程处理传入的请求?

如何用DEBUG选项启动pm2进程

我有一个快速的应用程序,我开始在terminal使用以下命令来启用debugging日志: DEBUG=custom:* npm start (on Ubuntu) SET DEBUG=custom:* & npm start (on Windows) 在生产服务器上,我使用以下命令启动与PM2的应用程序: pm2 start bin/www -i 0 但是,这并没有启用我的代码中的debug日志,所以debugging语句不会被添加到日志,只有console.error()被添加到日志文件。 如何在启动PM2的同时传递DEBUG=custom:*选项?

如何使用进程名称而不是进程ID重新启动PM2进程?

当我们在一台机器上运行多个节点服务时,它很难重新启动一个id为id的服务,这是一个由PM2按顺序分配的序列号。 所以,而不是使用ID是可以重新启动进程使用进程名称? 我使用以下命令以服务名称开始我的服务: pm2 start index.js –name my-service-name 我想用“my-service-name”这个名称重新启动它们,这样我就可以使用脚本来自动执行它。

如何使用pm2来部署到Windows堆栈

环境 开发机器:Windows 7 部署目标:Windows 2012 R2 v7.10.1版本v7.10.1 Git git-bash 2.9.2.windows.1 我正在尝试使用PM2部署一个NodeJS项目 PM2部署 我的PM2生态系统文件 deploy : { production : { user : 'myUser', host : '10.1.1.16', ref : 'origin/master', repo : 'pshakr@bitbucket.org/pjma/adapter.git', path : 'C:\\jhu', 'post-deploy' : 'npm install && pm2 startOrRestart ecosystem.config.js –env production' } } 我在开发机器上打开了GIT-Bash ,在运行configuration文件时出现以下错误 错误 $ pm2 deploy ecosystem.config.js production setup […]

使用pdsh远程运行node.js pm2

我有4个服务器在pm2(pm2 start app.js)的帮助下运行node.js。 我想从另一台服务器使用pdsh重新启动pm2,但是当我运行时: pdsh -a "/root/.nvm/v0.10.30/bin/pm2 restart 0" 它返回: /root/.nvm/v0.10.30/bin/pm2: line 4: exec: : not found 我也做了类似的波纹pipe: pdsh -a "sh /etc/profile && sh ~/.bash_profile && /root/.nvm/v0.10.30/bin/pm2 restart 0" 并发生相同的错误。 谢谢