【问题标题】:Unable to run Express App on Nodester无法在 Nodester 上运行 Express 应用程序
【发布时间】:2012-06-16 20:40:48
【问题描述】:

我在 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 时相同的应用程序似乎不起作用。

请帮忙

【问题讨论】:

    标签: node.js npm nodester


    【解决方案1】:

    更新:

    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 使用端口(如 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
    

    (感谢 Chris 的提示)

    【讨论】:

    • 安装包的正确方法是什么? nodester npm install dlq expressnpm install express 在本地,然后 git pushing 它?
    • 你读过答案的最后一部分吗?想进一步详细说明吗?试试nodester app logs dlq 并发布结果怎么样?
    • 关于您的 NPM 问题:我使用本地 nom 和 nodester npm install。但是,我将node_modules 放在了.gitignore 中,这样存储库就不会被填满。在免费运行的 PaaS 上,节省空间是明智之举;)我建议将模块保留在 nodester 存储库之外。
    【解决方案2】:

    对于那些有以下问题的人: 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
    

    此时应该一切正常

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2019-08-03
      • 2011-09-28
      • 2014-10-08
      • 2021-08-24
      相关资源
      最近更新 更多