经过一番研究,我得出的结论是,我可以为运行的每个NodeJS服务器在CentOS服务器上运行多个Redis实例(我使用Redis存储会话)。
我遵循了these instructions,并且两个实例都在两个不同的端口上正常运行。
在NodeJS服务器上,我按以下方式配置Redis:
import * as session from "express-session";
var RedisStore = require('connect-redis')(session);
var redis = require("redis").createClient();
app.use(session(
{
secret: secret,
store: new RedisStore({ host: 'localhost', port: 6379, client: redis }),
cookie: { maxAge: 12 * 3600000 },
resave: true, saveUninitialized: true
}
));
一个带有端口6379
,另一个带有6380
。
我使用req.session.regenerate
注册会话。
两个登录系统都可以完美地单独运行。但是,当我在一个应用程序上加载任何内容时,另一个应用程序的会话将被删除(并且需要重新登录)。
我在这里想念什么?