Tag: pm2

服务器在VPS上上传video或图像时重新启动 – NodeJS Forever

我使用nodejitsu的永久包来连续在VPS上运行我的NodeJS(v0.10.28)。 当我试图上传video或图像在服务器上时,服务器暂时停止,然后重新启动并logging以下错误: 错误:重新启动脚本,因为/ path / to / uploadDir / d36eafa413c33eb3f02dcd3782e1e77b已更改 错误:永远检测到的脚本被SIGKILL信号杀死 错误:脚本重新启动尝试#1 我也试过Unitech的pm2模块,但是同样的事情正在发生。 我正在使用强大的上传文件到服务器。 当我尝试运行我的服务器使用命令: node server.js ,所有的东西都工作得很好。 我不知道是什么问题,任何帮助表示赞赏。

厨师设置:试图启动与PM2的节点应用程序

我正在使用nodejs食谱来安装node和PM2模块。 include_recipe "nodejs" nodejs_npm "pm2" 到现在为止还挺好。 但是,当我尝试通过PM2启动我的节点应用程序与process.json文件启动,但没有列出在PM2输出时,我ssh进入机器,运行pm2 list …非常恼人的。 我做错了是不是显示在那里是正确的? execute "start node app via PM2" do cwd "/share/app" command "pm2 startOrRestart process.json" end 和process.json看起来像这样: { "apps": [ { "name": "app", "script": "src/index.js", "watch": true, "ignore_watch": ["[\\/\\\\]\\./", "node_modules"], "merge_logs": true, "exec_interpreter": "node", "env": { "NODE_ENV": "local", "port": 8080 } } ] }

每12小时用cron重新启动pm2应用程序

试过这个,但它不起作用: SHELL=/bin/bash PATH=/usr/lib/node_modules/pm2/bin * 0,12 * * * pm2 restart all 我究竟做错了什么?

PM2开始创build奇怪的文件

我创build了一个简单的“bot”来parsing一些trello卡的rss-feed。 我使用pm2来启动和维护bot.js 由于一些奇怪的原因cliframework创build了一些奇怪的文件。 为了使情况尽可能清楚: pm2 list 回报 ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │ ├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤ │ bot │ 0 │ fork │ 25084 │ online │ 0 │ 3m │ 0% │ 67.7 MB │ disabled │ └──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘ 有时如果我使用的 […]

是pm2的等价物

我以前用cluster运行多个实例,但是想开始使用pm2 。 不过,我有一个只能运行在其中一个实例上的进程。 有没有办法确定或识别最初启动的实例,相当于使用isMaster时isMaster ?

了解node.js pm2启动选项

pm2有以下命令行选项: startOrRestart <json> startOrReload <json> startOrGracefulReload <json> 但他们之间有什么分别? 据我所知所有启动应用程序(S),如果他们还没有开始。 所以让我们考虑应用程序(一个HTTP服务器)正在运行。 我假设重新启动强制应用程序停止并重新启动它, 重新加载将停止接受新的连接,等待所有连接处理,然后重新启动应用程序。 不同的是,没有停机或中止连接重新加载,但除此之外,它的行为就像重新启动 (即代码更改应用)。 我的假设是否正确? startOrGracefulReload如何不同?

读取使用pm2传递给node.js的命令行参数

我知道如何使用pm2将variables传递给node.js。 但是我怎么读呢? process.argv不包含它。 这就是我所指的。 使用pm2将环境variables传递给node.js UPDATE pm2 start file_name.js — -my_port 8080是正确的方法。 process.argv将包含参数。 但是运行pm2 describe file_name仍然显示一个被caching的值-3000。 重新启动系统给了我重新启动之前最后通过的参数,在我的情况下是3000。

Node.js Morgan日志中没有请求状态

我正在Azure VM上运行node.js应用程序(使用PM2处理负载平衡和重新启动)。 这是服务器设置和日志logging代码: var logger = require('morgan'); var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(flash()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/api/v01', api.router); app.use('/api/v02', apiv2.router); 在最后一天左右,我们开始有很多连接到网站的麻烦。 它需要一些重新加载才能显示任何数据。 我一直在查看日志,试图找出是什么。 我没有看到任何错误,但是这样的事情有不less例子: WebApp-2 GET /portal – – ms – – WebApp-3 GET /portal – – ms – – WebApp-2 GET […]

使用PM2和Nodejs的多个进程之间共享的单个用户列表

有多个进程共享一个用户列表的最佳方式是什么? 这些过程是使用PM2启动的。 进程将有权访问列表,以便添加,删除和检查用户是否已经存在于列表中。

winston + PM2logginguncaughtException两次

我为我的NodeJS应用程序使用winston ,以具有结构化日志logging格式(JSON),稍后我将通过Filebeat处理并发送到Logstash。 正如PM2和12factor.net所build议的,我使用winston.transports.Console传输进行日志logging,并让PM2处理我的winston.transports.Console的stdout和stderr 。 在我的logger.js模块中,我有以下几点: "use strict"; const winston = require("winston"); // Remove logging on console winston.remove(winston.transports.Console); // env const env = process.env.NODE_ENV || 'development'; const isDev = env === "development"; // The default Console transport const defaultLogLevel = isDev ? "debug" : "info"; const consoleTransport = new winston.transports.Console({ level: defaultLogLevel, colorize: true, json: true, […]