託管一個明確的NodeJS網站我創建了一個基於the documentation of Durandal一個新網站的NodeJS。它在本地工作。我設置了Windows Azure來引入my GitHub repository的更改,它可以正確執行。在Windows Azure上
然而,(後使錯誤),我發現了an internal server error。
我檢查了我的FTP日誌,但沒有任何。有一個'Git'文件夾,但沒有什麼有趣的。
當我改變我的server.js文件到了hello world示例,一切正常:
var http = require('http')
var port = process.env.PORT || 1337;
http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port);
這是我現在server.js:
var express = require('express'),
routes = require('./routes'),
engines = require('consolidate');
exports.startServer = function(config, callback) {
var port = process.env.PORT || config.server.port || 1337;
var app = express();
var server = app.listen(port, function() {
console.log("Express server listening on port %d in %s mode", server.address().port, app.settings.env);
});
app.configure(function() {
app.set('port', port);
app.set('views', config.server.views.path);
app.engine(config.server.views.extension, engines[config.server.views.compileWith]);
app.set('view engine', config.server.views.extension);
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.compress());
app.use(config.server.base, app.router);
app.use(express.static(config.watch.compiledDir));
});
app.configure('development', function() {
app.use(express.errorHandler());
});
app.get('/', routes.index(config));
callback(server);
};
那麼,有沒有人成功地主辦了Express(或更具體地說,含羞草的Durandal骨架)Windows Azure上的NodeJS站點?或者你知道如何或在哪裏可以找到內部服務器錯誤?
如果你得到這個想通了,我很想知道它需要把香草含羞草/迪朗達爾應用與天青舉辦一些步驟。有點像Heroku的步驟:http://mimosa.io/about.html#Heroku –
我目前正在研究它(在我的空閒時間)。我一定會讓你知道的。馬克的回答讓我開始了一條新的道路。我會在找到解決方案時進行更新。 – Peter
@DavidBashford我已經對它進行了大量的工作和[博客](http://petermorlion.blogspot.be/2014/03/getting-mimosa-durandal-app-to-work-on.html)。簡而言之,您需要讓Azure引入/ dist內容並啓動app.js,而不是server.js。 – Peter