3

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

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

nodester npm install express

此后,我在我的应用程序的本地 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在我的本地运行应用程序(点击 url 显示 Express 页面)。推送到 nodester 时相同的应用程序似乎不起作用。

请帮助

4

2 回答 2

2

更新:

Nodester 核心开发人员(IRC 上的 alejandromg)查看了您的问题。您在 git 存储库中遇到了合并问题。这似乎是一个合并冲突。你可以在GitHub 上找到你的 git 合并冲突的要点。Alejandro 很友好地解决了 Nodester 平台上的冲突。您的应用程序现在应该可以在http://dlq.nodester.com/上完美运行。

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


你好,Nodester(呃)!

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

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

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

要告诉 Express 使用端口(如帮助页面(查看常见问题解答部分)中所述) ,您可以使用数字并对其进行硬编码,或者获取每个 Nodester 应用程序可以自行访问的环境变量。

这应该有效:

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

或者

app.listen(process.env.port)

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

更改它,将您的代码推送到 Nodester(这似乎可行,我很高兴!)。之后,应用程序应该会自动启动并(希望)工作。如果您仍然遇到问题,请在 irc.freenode.org 上的 Nodester IRC 频道 #nodester 上告诉我们,或使用网络聊天客户端

其他故障排除

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

nodester npm install dlq express

(感谢克里斯的提示)

于 2012-03-26T07:08:47.230 回答
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

查看节点存储日志并查找重新启动的应用程序

现在我们可以

nodester npm install express
nodester app restart

此时一切都应该正常工作

于 2012-06-16T12:40:48.033 回答