SailsJS:服务器似乎没有在本地开发实例上启动

时间:2014-07-23 17:55:34

标签: sails.js

当我用" sails lift"我看到了这些错误:

error: Server doesn't seem to be starting.
error: Perhaps something else is already running on port 1337?

即使我尝试从一个新的开始运行或尝试使用不同的端口运行,我也会遇到相同的错误。需要明确的是:以下内容与任何端口生成相同的错误:

sails lift --port 2222

从头开始创建一个全新的风帆应用可以正常工作。相同的代码似乎在同事的机器上运行良好,但是我试图设置两次而没有运气。

我该如何调试?

注意:我不确定这实际上是否会导致问题。我已将我的应用程序中的其他错误与其他原因隔离,现在服务器仍在运行,无论此输出。

我可以使用我的玩具应用程序创建一个情况,我使用正在使用的端口启动Sails,然后除了上面的错误之外我还会收到警告:

warn: error raised: Error: listen EADDRINUSE

我的问题是关于我没有收到任何其他错误或警告的情况。当我没有看到EADDRINUSE,但仍然得到服务器似乎没有启动的错误。错误是"服务器似乎没有启动"来自Node,Express,Sails?这个堆栈的新手,并有兴趣知道如何隔离问题。

2 个答案:

答案 0 :(得分:2)

如果你看到"服务器似乎没有开始"消息,但仍然能够访问服务器,然后问题只是服务器启动时间比预期的要长。 liftTimeout配置可以帮助解决这个问题。在 config / local.js 文件中,设置:

liftTimeout: 1000 // defaults to 500

并且问题应该消失,假设您的服务器启动时间不到一秒钟。根据您的需要调整超时。

答案 1 :(得分:0)

另一个听这个端口的appliation的问题。

你可以通过几种方式解决这个问题。

  1. config/local.js端口配置Sails将启动,即

    module.exports = {
        port: 3000
    }
    
  2. 查看哪些应用程序监听端口1337.它可以是nginx,它监听1337端口。当您找到应用程序时,请使用其他选项重新配置它或将其删除。

  3. 如果您使用nginx代理对NodeJS的请求,则不能对nginx和Sails使用相同的端口。因此,例如,您有nginx侦听80端口,它将请求从80端口重定向到3000.然后,您必须将Sails配置为在3000端口上运行,并在config/local.js中设置proxyHost和proxyPort参数,如下所示。

    module.exports = {
        port: 3000,
        environment: 'production',
        proxyHost: 'yourhost.com',
        proxyPort: 80
    }