Javascript 无法启动Azure中托管的nodejs web api
学习Javascript 无法启动Azure中托管的nodejs web api,javascript,node.js,azure,restify,Javascript,Node.js,Azure,Restify,学习nodejs,并开始使用restify创建自己的restfulapi 我创建了一个非常简单的server.js文件,其中基本上包含一个hello world类型的示例,如下所示: server.post('/api/messages', servicemanager.verifyFramework(), servicemanager.listen()); server.get(/.*/, restify.serveStatic({ 'directory': '.', 'de
nodejs
,并开始使用restify创建自己的restfulapi
我创建了一个非常简单的server.js
文件,其中基本上包含一个hello world类型的示例,如下所示:
server.post('/api/messages', servicemanager.verifyFramework(), servicemanager.listen());
server.get(/.*/, restify.serveStatic({
'directory': '.',
'default': 'index.html'
}));
server.listen(process.env.port || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
这在当地很管用。我不能点击,我可以测试我的API调用,只是很好的调用
我已经将代码部署到bitbucket中,现在我想使用应用服务
在Azure中托管这些API
我的项目结构如下:
/topfolder
-/myproject
-/node_modules
-/node_modules...
server.js
package.json
index.html
当我在Azure中设置新的应用程序服务时,我可以看到部署从BB接收代码,但服务从未响应我的请求
我已经设置了要使用的应用程序的主路径:/site/wwwroot/topfolder/myproject
,当我导航到时,我可以看到index.html
,这很好
我实际上得到了一个404错误:
您正在查找的资源已被删除、名称已更改或暂时不可用。
关于如何使用bitbucket设置连续部署的例子有很多,在大多数情况下,它们似乎都能工作,但我的server.js
文件似乎不是被调用或启动的对象
我如何调试这里发生的事情
Azure是否在此场景中使用了packages.json
文件
谢谢。作为Azure App Services上托管的应用程序的根目录路径,是
D:\home\site\wwwroot
。关于nodejs应用程序,Azure fabric将在根目录中找到入口脚本,如server.js
。请求通过根目录中的web.config
处理。如果缺少server.js
或web,config
文件,则会出现404错误
您可以尝试修改或更改应用程序的结构,如:
-/node_modules
-/node_modules...
server.js
package.json
index.html
然后,通过GIT或BB将应用程序部署到Azure,Azure部署任务将运行命令npm install
,并在根目录中生成web.config
wile
如有任何进一步的问题,请随时通知我。如果您将FTP发送到azure网站,则在某处会有日志。没有太多的目录可供浏览,但在目录结构中您项目上方的一个文件中,我很肯定有一个日志文件,其中应该包含从您的应用程序记录的任何控制台输出。您使用什么url来访问托管api?@Chev谢谢,这是调试控制台,我环顾四周,但没有任何东西向我扑来。有什么线索吗?@DavidMakogon我在打:作为http post请求。在本地,我点击了哪个有效(当然,当我确定节点正在运行时),看起来你只需要有这样的结构就可以了,现在这对我来说是有效的,尽管这是一个巨大的痛苦。谢谢你,加里。