应用程序“appname”未能在开放移动节点应用程序上启动(端口8080不可用)【JAVA教程】

!
也想出现在这里? 联系我们
信息

应用程序“appname”未能在开放移动节点应用程序上启动(端口8080不可用),第1张

概述应用程序“appname”未能在开放移动节点应用程序上启动(端口8080不可用)

我已经写了一个节点在咖啡服务器,我似乎无法得到它运行。

部署时出现以下错误:

正在等待应用程序端口(8080)变为可用…

之后我得到以下错误

尝试使用windows 7为Symfony2项目转储资产时出现运行时exception

在windows / IIS symfony2咖啡脚本设置资产filter

全局安装的npm-packages不能正常工作

NodeJs和Coffeescript安装(Ubuntu 12.04)

如何在windows中一起使用CoffeeScript和Eclipse?

应用程序“appname”无法启动(端口8080不可用)

如果coffeescript似乎是问题是否有解决方法。 我不想改回Js。

我的服务器代码是:

restify = require \’restify\’ Bunyan = require \’bunyan\’ server = restify.createServer name: \’APPname\’ version: \’0.0.1\’ log: Bunyan.createLogger name: \’API\’ serializers: req: ()-> return \”bad\” # Usercontroller.access calls a function to process the request server.post \’/user/access\’,UserController.access server = create.createServer() server.Listen server_port,-> console.log \”http server Listening on #{server_port}\” require(\’./document\’)(server.router.mounts,\’restify\’) return

windows批处理结合咖啡脚本,复制和uglyify

Node.Js hubot在服务器上执行命令

为什么我在cygwin中运行咖啡命令时出错?

如何弥补JavaScript中的Nginx的URL重写?

节点,永远,咖啡 – 在linux上运行很好,但不是在windows上

您需要检查的第一步是查看〜/ app-root / logs / nodeJs.log下的日志

在我的情况下,没有包或任何类型的访问问题。 我在日志中得到的唯一信息是:

错误:在server._Listen2(net.Js:1024:19)errnoException(net.Js:905:11)处侦听EACCES

如果除了前端控制台找不到任何理由说它无法访问8080,那么请确保您指定了IP地址和端口号。

这是我如何解决它。

var express = require(\’express\’); var app = express(); var http = require(\’http\’); app.set(\’port\’,process.env.OPENSHIFT_NODEJs_PORT || process.env.PORT || 3002); app.set(\’ip\’,process.env.OPENSHIFT_NODEJs_IP || \”127.0.0.1\”); http.createserver(app).Listen(app.get(\’port\’),app.get(\’ip\’),function () { console.log(\”✔ Express server Listening at %s:%d \”,app.get(\’port\’)); server(); });

如前所述,app.get(\’ip\’)在听时非常重要。 否则,openshift无法启动您的应用程序。

更新:

如何进入日志目录:

使用命令rhc ssh将SSH加入你的设备

一旦你登录,输入cd $OPENSHIFT_LOG_DIR

在那里你有由Openshift环境存储的日志文件。

这可能是由于许多原因。 如果nodeJs启动不正确,PaaS似乎试图连续启动它。 它或者为端口创建一个冲突,或者这个错误与问题本身无关。 在我的情况下,有一个依赖失踪。 解决问题的最好方法是在应用程序容器中ssh并观察日志文件:tail -f〜/ app-root / logs / nodeJs.log

通过设置我的mongo db用户名和密码解决了这个问题

我得到了同样的错误,这与我在github上指向的分支有关。

师父是我的主要分支(第一个创建),当我指出它建立了,但我会得到错误,如果我指向任何其他分支。

在Openshift上的节点应用程序是一个2步骤的过程:

在package.Json中创建条目以启动服务器(入口点到应用程序):

\”scripts\”: { \”start\”: \”node server.Js\” },\”main\”: \”server.Js\”

使用OPENSHIFT环境变量获取IP和PORT:

process.env.OPENSHIFT_NODEJs_PORT process.env.OPENSHIFT_NODEJs_IP

有关更多详细信息,请参阅OpenShift:节点应用程序中的“无法执行控制启动”

rhc app create … –from-code …并获得8080不可用?

就像Mihai在他的回答中解释的那样(port 8080 not available)不需要关联到如何设置端口 – 因此,即使使用process.env.OPENSHIFT_NODEJs_PORT和process.env.OPENSHIFT_NODEJs_IP ,也可能发生这种情况process.env.OPENSHIFT_NODEJs_IP正确。

一个建议,看看~/app-root/logs/nodeJs.log正在帮助很多,但是如果错误发生在rhc app create … –from-code … ? 该应用程序不会被创建,因此你不能ssh看nodeJs.log 。

尝试在有限版本中推送您的应用程序 – 尽可能多地注释代码。

对我来说,它只是开始于快速应用程序的初始化和聆听。 然后,一旦创建了openshift应用程序,我一点一点地取消注释代码,推送并检查nodeJs.log文件。

这样我发现我的mongoDb名称是\”APPname_\”+process.env.NODE_ENV而openshift创建的mongoDb数据库只调用APPname

道歉没有直接回答这个问题,但8080 not available似乎是由各种设置造成的,也许这会帮助某人。

如果使用express: app.Listen(process.env.OPENSHIFT_NODEJs_PORT,process.env.OPENSHIFT_NODEJs_IP);

要么:

var port = process.env.OPENSHIFT_NODEJs_PORT; var ip = process.env.OPENSHIFT_NODEJs_IP; app.Listen(port,ip);

在我的情况下,我得到如下错误使用rhc ssh如上建议。

Unhandled rejection Error: getaddrinfo ENOTFOUND at errnoException (dns.Js:37:11) at Object.onanswer [as oncomplete] (dns.Js:124:16)

我通过设置来摆脱我的问题

mongo_url = process.env.OPENSHIFT_MONGODB_DB_URL;

呃,我正在尝试跟随但是

mongo_url = \”mongodb://admin:pass@$OPENSHIFT_MONGODB_DB_HOST:$OPENSHIFT_MONGODB_DB_PORT/mydbname\”

这不起作用。

希望这有助于某人。

解决这个问题的最好方法是检查你的日志文件夹。 SSH到你的服务器,找到nodeJs.log文件,你可以使用cat nodeJs.log来查看它的内容。

原因可能是:

其他文件中的语法错误

缺少端口环境变量

缺少IP环境变量(这2个最后在其他答案中陈述)

即使它说“端口8080不可用”,错误可能是在一个文件,不能正确执行,因此,你应该检查最近的变化,或者直接检查日志,找到错误的位置。

总结

以上是内存溢出为你收集整理的应用程序“appname”未能在开放移动节点应用程序上启动(端口8080不可用)全部内容,希望文章能够帮你解决应用程序“appname”未能在开放移动节点应用程序上启动(端口8080不可用)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞172 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容