我正在尝试在我刚刚设置的 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
任何帮助都会很棒!
如果您遵循专门用于 Heroku 实例的指南,那么它将跳过在其他盒子上进行设置所需的一些步骤。默认情况下,heroku 实例已node.js
安装,因此无需在部署和启动您的第一个应用程序之前在盒子上进行设置。
在 Linux Mint 上安装 Node.js。请执行下列操作:
安装所需工具
sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core
克隆并制作最新版本的 Node.js
git clone git://github.com/ry/node.git
cd node
./configure
make
sudo make install
转到此项目的工作目录并运行以下命令:
npm install
foreman start
您的 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
查看示例应用程序。
我知道已经有一段时间了,但由于上述答案都对我不起作用,我想我会发布我所做的让 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'))
});
如果您使用的是 express-generator,请删除此行:
module.exports = app;