当我用" 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?这个堆栈的新手,并有兴趣知道如何隔离问题。
答案 0 :(得分:2)
如果你看到"服务器似乎没有开始"消息,但仍然能够访问服务器,然后问题只是服务器启动时间比预期的要长。 liftTimeout
配置可以帮助解决这个问题。在 config / local.js 文件中,设置:
liftTimeout: 1000 // defaults to 500
并且问题应该消失,假设您的服务器启动时间不到一秒钟。根据您的需要调整超时。
答案 1 :(得分:0)
另一个听这个端口的appliation的问题。
你可以通过几种方式解决这个问题。
在config/local.js
端口配置Sails将启动,即
module.exports = {
port: 3000
}
查看哪些应用程序监听端口1337.它可以是nginx,它监听1337端口。当您找到应用程序时,请使用其他选项重新配置它或将其删除。
如果您使用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
}