【发布时间】:2014-09-01 00:49:41
【问题描述】:
我无法部署到 Heroku。我过去成功地做到了这一点,两个应用程序的基本设置和服务器是相同的。然而,一个失败,一个工作。
很多相关的 StackOverflow 帖子似乎都在谈论 Heroku 分配的服务器端口,但我已经以与我的其他应用程序相同的方式实现了这一点。
干杯。
我的日志:
2014-07-10T14:49:20+00:00 heroku[slug-compiler]: Slug compilation started
2014-07-10T14:49:25+00:00 heroku[slug-compiler]: Slug compilation finished
2014-07-10T14:49:25.546726+00:00 heroku[api]: Release v8 created by **email-address--omitted**
2014-07-10T14:49:25.546616+00:00 heroku[api]: Deploy e8c1330 by **email-address--omitted**
2014-07-10T14:49:53.489816+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=**url-omitted**.herokuapp.com request_id=5feccc8e-b061-4397-aac1-6fdba4de4350 fwd="81.136.226.96" dyno= connect= service= status=503 bytes=
2014-07-10T14:49:53.682090+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=**url-omitted**.herokuapp.com request_id=e26c4e91-465a-460c-9135-86106aa2a7c1 fwd="81.136.226.96" dyno= connect= service= status=503 bytes=
我的 Proc 文件:
web: node server.js
我的 server.js 文件
var express = require('express');
var http = require('http');
var socket = require('socket.io');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();
var server = http.createServer(app);
var io = socket.listen(server);
app.get('/', function(request, response) {
var ua;
ua = request.headers['user-agent'];
if (/mobile/i.test(ua)) {
app.use(express["static"](path.join(__dirname, '')));
return response.sendfile(__dirname + "/mobile.html");
} else {
app.use(express["static"](path.join(__dirname, '')));
response.sendfile(__dirname + "/index.html");
}
});
...stuff here related to Socket.io
var port = Number(process.env.PORT || 8080);
server.listen(port, function() {
return console.log('listening on ' + port);
});
更新
由于某种原因,没有运行网络测功机。我缩放到 1,然后得到了这个崩溃日志
2014-07-10T15:22:52.447054+00:00 heroku[api]: Scale to web=1 by jack.wild@live.co.uk
2014-07-10T15:23:00.827317+00:00 app[web.1]: ^
2014-07-10T15:23:00.830741+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15)
2014-07-10T15:23:00.830749+00:00 app[web.1]: at Module._compile (module.js:456:26)
2014-07-10T15:23:00.830756+00:00 app[web.1]: at Function.Module.runMain (module.js:497:10)
2014-07-10T15:23:00.823228+00:00 app[web.1]: module.js:340
2014-07-10T15:23:00.830736+00:00 app[web.1]: Error: Cannot find module 'express'
2014-07-10T15:23:00.830744+00:00 app[web.1]: at Module.require (module.js:364:17)
2014-07-10T15:23:00.830752+00:00 app[web.1]: at Module.load (module.js:356:32)
2014-07-10T15:23:00.830742+00:00 app[web.1]: at Function.Module._load (module.js:280:25)
2014-07-10T15:23:00.824793+00:00 app[web.1]: throw err;
2014-07-10T15:23:00.830746+00:00 app[web.1]: at require (module.js:380:17)
2014-07-10T15:23:00.830751+00:00 app[web.1]: at Object.Module._extensions..js (module.js:474:10)
2014-07-10T15:23:00.830754+00:00 app[web.1]: at Function.Module._load (module.js:312:12)
2014-07-10T15:23:00.820120+00:00 app[web.1]:
2014-07-10T15:23:00.830748+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:1:77)
2014-07-10T15:23:02.996355+00:00 heroku[web.1]: State changed from crashed to starting
2014-07-10T15:23:02.996355+00:00 heroku[web.1]: State changed from starting to crashed
2014-07-10T15:23:07.904191+00:00 heroku[web.1]: Starting process with command `node server.js`
2014-07-10T15:23:08.722329+00:00 app[web.1]:
2014-07-10T15:23:08.726092+00:00 app[web.1]: at require (module.js:380:17)
2014-07-10T15:23:08.726089+00:00 app[web.1]: at Function.Module._load (module.js:280:25)
2014-07-10T15:23:08.726087+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15)
2014-07-10T15:23:08.726102+00:00 app[web.1]: at Function.Module.runMain (module.js:497:10)
2014-07-10T15:23:08.726090+00:00 app[web.1]: at Module.require (module.js:364:17)
2014-07-10T15:23:08.726094+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:1:77)
2014-07-10T15:23:08.726084+00:00 app[web.1]: Error: Cannot find module 'express'
2014-07-10T15:23:08.726100+00:00 app[web.1]: at Function.Module._load (module.js:312:12)
2014-07-10T15:23:08.726095+00:00 app[web.1]: at Module._compile (module.js:456:26)
2014-07-10T15:23:08.726097+00:00 app[web.1]: at Object.Module._extensions..js (module.js:474:10)
2014-07-10T15:23:08.722955+00:00 app[web.1]: throw err;
2014-07-10T15:23:08.723007+00:00 app[web.1]: ^
2014-07-10T15:23:08.726099+00:00 app[web.1]: at Module.load (module.js:356:32)
2014-07-10T15:23:09.957885+00:00 heroku[web.1]: State changed from starting to crashed
2014-07-10T15:23:09.945248+00:00 heroku[web.1]: Process exited with status 8
2014-07-10T15:22:59.038221+00:00 heroku[web.1]: Starting process with command `node server.js`
2014-07-10T15:23:08.722675+00:00 app[web.1]: module.js:340
2014-07-10T15:23:02.979682+00:00 heroku[web.1]: Process exited with status 8
【问题讨论】:
-
奇怪的是,当我做 $heroku ps 时,我的测功机没有任何显示。它暂停几秒钟,然后回到 cd$
-
@BenFortune 我的日志有问题...我可以访问其他日志吗?
-
由于某种原因没有运行网络测功机。我缩放到 1,然后得到了这个崩溃日志
标签: node.js sockets heroku express