我在 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 时,相同的应用程序似乎不起作用。
请帮忙
最佳答案
更新:
Nodester 核心开发人员(IRC 上的 alejandromg)已经查看了您的问题。您的 git 存储库中存在合并问题。这似乎是合并冲突。你可以在 GitHub 上找到你的 git merge 冲突的要点。 . Alejandro 很友好地解决了 Nodester 平台上的冲突。您的应用现在应该可以在 http://dlq.nodester.com/ 上完美运行.
我将保留其余答案作为解决此问题的可能方法。
你好 Nodester(er)!
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(这似乎有效,我很高兴!)。之后,该应用程序应该自动启动并(希望)工作。如果您仍然遇到问题,请在 Nodester IRC channel #nodester on irc.freenode.org 上告诉我们,或使用 webchat client .
其他故障排除:
您似乎错误地使用了 nodester npm 命令(根据您提供的信息判断)。应该是:
nodester npm install dlq express
(感谢 Chris 的提示)
关于node.js - 无法在 Nodester 上运行 Express App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9862884/