我是 Bluemix 的新手。到目前为止,我创建了Web应用程序,获取了其代码并在localhost中运行此应用程序。一切都很好。该应用程序使用AngularJs和json-server。稍后我也会.js节点。要运行它,我使用"json-server --watch db.json"。json 文件包含各种 json 数组和对象。这是我的链接列表。
http://localhost:3000/news
http://localhost:3000/events
http://localhost:3000/city
http://localhost:3000/administration
http://localhost:3000/deputy_mayors
http://localhost:3000/alcazar_park
http://localhost:3000/feedback
我的猜测是,所有这些链接都应该更改为实时路由,而不是使用 localhost。在我的仪表板中,我可以看到名称的应用程序路由(theo-larissa.mybluemix.net(及其状态已停止。现在当我尝试启动应用程序时,我收到此消息
404 Not Found: Requested route ('theo-larissa.mybluemix.net') does not exist.
有什么想法可以解决这个问题吗?
提前感谢,
西欧。
您的控制台日志显示什么 theo-larissa.mybluemix.net?一个真正常见的部署错误是在将端口部署到 Bluemix 时将端口保留在应用程序中的硬编码。你不能这么做;您必须允许 Bluemix 指定您的应用程序将使用的端口。例如,您可以通过在创建服务器时对类似以下内容进行编码来执行此操作:
var server = app.listen(app.get('port'), function()
{console.log('Listening on port %d', server.address().port);});
如果要使其完全自动化,可以包含如下所示的代码:
app.set('port', appEnv.port);
app.set('appName', 'theo-larissa');
if (cfenv.getAppEnv().isLocal == true)
{http.createServer(app).listen(app.get('port'),
function(req, res) {console.log(app.get('appName')+' is listening locally on port: ' + app.get('port'));});
}
else
{
var server = app.listen(app.get('port'), function() {console.log('Listening on port %d', server.address().port);});
}
app.set('port', appEnv.port);
app.set('appName', 'theo-larissa');
if (cfenv.getAppEnv().isLocal == true)
{http.createServer(app).listen(app.get('port'),
function(req, res) {console.log(app.get('appName')+' is listening locally on port: ' + app.get('port'));});
}
else
{
var server = app.listen(app.get('port'), function() {console.log('Listening on port %d', server.address().port);});
}