2016-11-02 17 views
0

我试图部署在Openshift的KeystoneJS应用程序运行最新的NodeJS(V7)和面向我就遇到了这个错误信息KeystoneJS Node7 - MemoryStore的并非设计用于生产环境

Mongo Error: 
Error: connection closed 
    at exports.ConnectionPool.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/server.js:608:24) 
    at emitNone (events.js:86:13) 
    at exports.ConnectionPool.emit (events.js:185:7) 
    at exports.Connection.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:171:15) 
    at emitTwo (events.js:106:13) 
    at exports.Connection.emit (events.js:191:7) 
    at Socket.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/connection.js:550:12) 
    at emitOne (events.js:96:13) 
    at Socket.emit (events.js:188:7) 
    at TCP._handle.close [as _onclose] (net.js:501:12) 
/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/keystone/lib/core/mount.js:630 
         throw new Error('KeystoneJS (' + keystone.get('name') + ') failed to start'); 
         ^
Error: KeystoneJS (XYZ Web) failed to start 
    at NativeConnection.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/keystone/lib/core/mount.js:630:10) 
    at emitOne (events.js:96:13) 
    at NativeConnection.emit (events.js:188:7) 
    at NativeConnection.Connection.error (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/connection.js:389:8) 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/connection.js:416:14 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:57:21 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/db.js:286:18 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/db.js:365:7 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 
{ Error: Cannot find module '../build/Release/bson' 
    at Function.Module._resolveFilename (module.js:472:15) 
    at Function.Module._load (module.js:420:25) 
    at Module.require (module.js:500:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/bson/ext/index.js:15:10) 
    at Module._compile (module.js:573:32) 
    at Object.Module._extensions..js (module.js:582:10) 
    at Module.load (module.js:490:32) 
    at tryModuleLoad (module.js:449:12) 
    at Function.Module._load (module.js:441:3) 
    at Module.require (module.js:500:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/bson/lib/bson/index.js:3:24) 
    at Module._compile (module.js:573:32) 
    at Object.Module._extensions..js (module.js:582:10) 
    at Module.load (module.js:490:32) code: 'MODULE_NOT_FOUND' } 
js-bson: Failed to load c++ bson extension, using pure JS version 
Warning: connect.session() MemoryStore is not 
designed for a production environment, as it will leak 
memory, and will not scale past a single process. 
Got SIGTERM, stopping workers... 
(node:20870) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead. 
一些其他问题后,

我不确定,这些错误信息中的哪一个可能是根本原因。有没有人有类似的问题?

任何帮助表示赞赏。

西蒙

回答

0

您需要的另一个选项卡

~: mongod 

,并 转至文件上启动MongoDB的(在您的项目):

'node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js' 

,改变

bson = require('../build/Release/bson'); 

bson = require('bson'); 

,但之后你有另外一个问题:

DeprecationWarning:使用缓冲区没有new将很快停止 工作。改为使用new Buffer()或优选Buffer.from(), Buffer.allocUnsafe()Buffer.alloc()

它不是错误,但本地主机:3000不跑,并用它做什么,我不知道