我是靠谱客的博主 缓慢日记本,最近开发中收集的这篇文章主要介绍pm2集群模式mysql配置_node.js – 使用pm2集群模式表达服务器端口配置问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:我们在群集模式下启动pm2,并且pm2启动的进程数量与cpu核心一样多,pm2也尝试启动与cpu核心一样多的节点服务器,但问题是它无法启动尽可能多的服务器,因为它们所有尝试并在3000的同一端口上启动,该端口已被第一个节点服务器占用

我们使用nginx并代理它到3000端口.

我们在集群模式下使用pm2,配置如下:

{

"apps" : [{

"script" : "npm",

"instances" : "max",

"cwd":"/home/nginx/my-pwa" ,

"args" : "run start:server:prod",

"exec_mode" : "cluster",

"wait_ready": true,

"kill_timeout" : 4000,

"watch" : true

}]

}

run start:server:prod是我们启动服务器的脚本

我们的快递服务器

var app = require('../src/app');

var port = normalizePort(process.env.PORT || '3000');

app.set('port', port);

const http = require('http');

server = http.createServer(app);

server.listen(port));

server.on('error', onError);

server.on('listening', onListening);

function onError(error) {

if (error.syscall !== 'listen') {

throw error;

}

var bind = typeof port === 'string'

? 'Pipe ' + port

: 'Port ' + port;

// handle specific listen errors with friendly messages

switch (error.code) {

case 'EACCES':

console.error(bind + ' requires elevated privileges');

process.exit(1);

break;

case 'EADDRINUSE':

console.error(bind + ' is already in use');

process.exit(1);

break;

default:

throw error;

}

}

process.on('message', function(msg) {

if (msg == 'shutdown') {

server.close();

process.exit(0);

}

});

// Listening logic

function onListening() {

var addr = server.address();

var bind = typeof addr === 'string'

? 'pipe ' + addr

: 'port ' + addr.port;

debug('Listening on ' + bind);

console.log("Server started on ", bind);

process.send('ready');

}

请帮忙,这是关键任务!

最后

以上就是缓慢日记本为你收集整理的pm2集群模式mysql配置_node.js – 使用pm2集群模式表达服务器端口配置问题的全部内容,希望文章能够帮你解决pm2集群模式mysql配置_node.js – 使用pm2集群模式表达服务器端口配置问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部