运行foreman以启动Node.js应用程序时出错

时间:2013-08-19 18:34:18

标签: node.js heroku foreman

我正在尝试在我设置的Mint VM上运行工头。它是为了学习节点。我正在使用Heroku和他们的导游让我自己设置,但是当我尝试启动工头时我遇到了障碍。

错误消息是:

14:51:09 web.1  | started with pid 10739
14:51:09 web.1  | exited with code 1
14:51:09 system | sending SIGTERM to all processes
SIGTERM received

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:3)

如果您正在关注专门用于Heroku实例的指南,那么它将跳过设置其他框所需的一些步骤。默认情况下,heroku实例已安装node.js,因此在部署和启动第一个应用程序之前,无需在框中设置此设置。

在Linux Mint上安装Node.js.执行以下操作:

  1. 安装所需的工具

    sudo apt-get install g++ curl libssl-dev apache2-utils

    sudo apt-get install git-core

  2. 克隆并制作最新版本的Node.js

    git clone git://github.com/ry/node.git

    cd node

    ./configure

    make

    sudo make install

  3. 转到此项目的工作目录并运行以下命令:

    npm install

    foreman start

  4. 您的Node.js应用程序示例现在应该在本地VM上运行。

    要获取用于测试本地设置的示例节点应用,请执行以下操作:

    `git clone git@github.com:heroku/node-js-sample.git # or clone your own fork`
    
    `cd node-js-sample`
    
    `npm install`
    
    `foreman start`
    

    浏览到http://localhost:5000以查看示例应用程序。

答案 1 :(得分:1)

我知道它已经有一段时间了,但由于上述答案都没有对我有用,我想我会发布我所做的事情让Heroku工头与Express 4合作(花了我很多时间才弄明白!)

在您的app.js(或您的输入文件中):

将此行添加到app.use(express.static(path.join ....

app.set('port', (process.env.PORT || 5000));

将此行添加到文件末尾:

app.listen(app.get('port'), function() {
  console.log("Node app is running at localhost:" + app.get('port'))
});

如果您使用快速生成器,请删除此行:

module.exports = app;