我在nodester上部署Express应用程序时遇到问题。

成功运行nodester的默认hello world应用程序后,我在nodester CLI上运行了以下命令



之后,我在我的应用程序的本地git上安装了express

npm install express
express
mv app.js server.js // Changed the port from 3000 to the port given to me
git add .
git commit -m 'message'
git push origin master

我似乎遵循了各种博客给出的所有说明,但是当我点击url(http://dlq.nodester.com)时,该应用程序将显示为脱机状态。

即使在本地运行相同的应用程序也可以完成这项工作。即node server.js在我的本地计算机上运行该应用程序(点击该网址会显示Express页面)。 当推送到nodester时,同一应用程序似乎不起作用。

请帮助

最佳答案

更新:

Nodester Core开发人员(在IRC上使用alejandromg)已解决了您的问题。您在git储存库中遇到合并问题。似乎是合并冲突。您可以在GitHub上找到git merge冲突的要点。 Alejandro非常友好,可以解决Nodester平台上的冲突。现在,您的应用程序应该可以在http://dlq.nodester.com/上完美运行。

我将保留其余答案,作为解决此问题的一种可能方法。

您好Nodester同伴(er)!

作为PaaS,Nodester使用内部端口转换来允许每个Nodester应用程序在端口80上运行,以便可以从Web上轻松访问它。由于Nodester在单个EC2实例上运行,因此我们为您分配了一个端口。该端口将在内部转发到您的dlq.nodester.com:80,但是您的应用程序将必须使用Nodester发行的端口。

我知道您更改了端口,但是请尝试使用下面介绍的替代方法。

您可以通过运行nodester app info dlq来访问分配给您的端口。它应显示您的应用程序正在运行或已停止以及端口。

要告诉Express使用端口(如the Help page (check the FAQ section)所述),您可以使用数字并对其进行硬编码,也可以采用每个Nodester应用程序均可自行访问的环境变量。

这应该工作:

app.listen(process.env['app_port'] || 80)

或者
app.listen(process.env.port)

第一个允许您在端口80(或选择的任何端口)上进行本地开发,后者将需要您设置一个环境变量,该环境变量包含一个字符串或您所发出的端口号。

更改它,将您的代码推送到Nodester(这很有效,我很高兴!)。之后,该应用应会自动启动并(希望)正常运行。如果仍然遇到问题,请在irc.freenode.org上的Nodester IRC channel #nodester上让我们知道,或使用webchat client

其他疑难解答:

您似乎错误地使用了nodester npm命令(根据您那里的信息来判断)。它应该是:
nodester npm install dlq express

(感谢克里斯的提示)

关于node.js - 无法在Nodester上运行Express App,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9862884/

10-11 20:20