无法在Nodester上运行Express App

时间:2012-03-25 18:39:14

标签: node.js npm nodester

我无法在nodester上部署express app。

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

  

nodester npm install express

此后我在我的应用程序的本地git上安装了快递

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

我似乎已经按照各种博客提供的所有说明进行了操作,但是当我点击网址(http://dlq.nodester.com)时,该应用就显示为离线。

即使在本地运行相同的应用程序也能胜任。即node server.js在我的本地运行应用程序(点击网址显示Express页面)。推送到nodester时相同的应用程序似乎不起作用。

请帮助

2 个答案:

答案 0 :(得分:2)

<强>更新

Nodester核心开发人员(IRC上的alejandromg)已经看过你的问题了。您的git存储库中存在合并问题。这似乎是一场合并冲突。您可以在GitHub找到git合并冲突的要点。亚历杭德罗非常友好地解决了Nodester平台上的冲突。您的应用现在应该在http://dlq.nodester.com/上完美运行。

我会将剩下的答案作为解决此问题的可能方法。


你好Nodester先生(呃)!

Nodester作为PaaS,使用内部端口转换来允许每个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频道#nodester上告诉我们,或者使用webchat client

其他疑难解答

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

nodester npm install dlq express

(感谢克里斯的提示)

答案 1 :(得分:0)

对于那些遇到问题的人: nodester npm install express

我在nodester(来自内存)上快速运行的方式:

nodester app create myapp
cd myapp
npm install express -g      [if you don't have it yet]
express
mv app.js server.js

打开server.js并收听process.env['app_port'] || 80

git add .
git commit -m 'init express'
git push origin master

查看nodestor日志并查找 app restarted

现在我们可以

nodester npm install express
nodester app restart

所有人都应该在这一点上工作