在Openshift上部署Sails.js ... app一遍又一遍地重启

m1u*_*uan 8 node.js openshift sails.js

我想将sails.js(版本0.9.7)应用程序部署到Openshift但是在git push我得到这个日志之后:

debug: Lowering sails...
DEBUG: Starting child process with 'node app.js'
.
.
.
info: Server lifted in `/var/lib/openshift/525ccaba5973caa65100002b/app-root/runtime/repo`
info: To see your app, visit http://127.7.215.1:8080
info: To shut down Sails, press <CTRL> + C at any time.
.
.
debug: --------------------------------------------------------
debug: :: Tue Oct 15 2013 03:03:56 GMT-0400 (EDT)
debug: 
debug: Environment      : development
debug: Host             : 127.7.215.1
debug: Port             : 8080
debug: --------------------------------------------------------
.
.
error: Server doesn't seem to be starting.
error: Perhaps something else is already running on port 8080 with hostname 127.7.215.1?
.
.
debug: Lowering sails...
DEBUG: Starting child process with 'node app.js'
Run Code Online (Sandbox Code Playgroud)

GitHub上的这个帖子中得到一些提示,并检查了示例config/local.js https://gist.github.com/chrisaiv/5938158

在测试任何组合之后,Openshift服务器只是一遍又一遍地重新启动.我还测试了几个端口,如8080,80,1337 ......我不认为这些都是忙碌的.我试图运行nodeapp.js和应用程序令人惊讶地工作在端口8080但直到我尝试访问views/home/index,可能是因为从ssh我没有权利.

以防万一,这里我的config/local.js文件是这样的:

module.exports = {
        port: process.env.OPENSHIFT_NODEJS_PORT,
        host: process.env.OPENSHIFT_NODEJS_IP
        }
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何建议;-)

小智 1

您的应用程序将不断重新启动的原因是因为 sails 应用程序创建了一个名为 的文件夹.tmp并将所有资产放入其中。这意味着您的 sails 应用程序将写入本地文件。但Openshift用于node-supervisor启动节点应用程序,并node-supervisor在启动应用程序后监视所有文件更改。如果任何文件被更改,node-supervisor将重新启动服务器。

您可以尝试npm i supervisor -g通过键入来启动应用程序node-supervisor app.js以查看相同的日志。

我认为解决方案是让 SailsJS 停止写入本地文件,但我还不知道该怎么做。