2016-05-22 21 views
2

nodejsを学習し、restifyを使用して自分の安らかなAPIを作成し始めました。ローカルで正常に動作しますAzureでホストされているnodejs web apiを起動できません

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); 
}); 

私は次のように起動し、基本的にhello世界のタイプの例が含まれている非常に単純なserver.jsファイルを作成しました。私はhttp://localhost:3978を打つことはできませんと私はちょうど細かい呼び出しhttp://localhost:3978/api/messagesを呼び出す私のAPIをテストすることができます。

自分のコードをbitbucketにデプロイしました。今度は、App Servicesを使用してこれらのAPIをAzureでホストしたいと考えています。

マイプロジェクトの構造はそうのようなものです:

/topfolder 
    -/myproject 
    -/node_modules 
     -/node_modules... 
    server.js 
    package.json 
    index.html 

IセットアップのAzureの新しいアプリサービス、私は展開がBBからコードを受信しますが、サービスは私の要求に応答しないことを確認できた場合。

/site/wwwroot/topfolder/myprojectに住むアプリのホームパスを設定しました。http://myproject.azurewebsites.netに移動すると、index.htmlが表示されます。

私は実際に404エラーが表示されます。 The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

の設定方法の連続展開をビットバケットを使用すると、ほとんどの部分は、彼らはすべてが動作するように見えるの例のヒープが、私のserver.jsファイルdoesntのがありますがあるように見えます呼び出されるか、始動する。

ここで起こっていることをどのようにデバッグできますか?

このシナリオではAzureによってpackages.jsonファイルが使用されていますか?

ありがとうございました。

+0

あなたの紺碧のウェブサイトにFTPすると、どこかにログがあります。ディレクトリ構造の中のプロジェクトの上にあるファイルの1つに、あなたのアプリから記録されたコンソール出力を含むべきログファイルがあります。 – Chev

+0

あなたのホストされているAPIを打つためにあなたが使っているURLは何ですか? –

+0

@Chevありがとう、thatsデバッグコンソール、私は周りを見回したが、何も私に飛び出す。すべての手がかりは? – Mark

答えて

2

Azure App Servicesでホストされるアプリケーションのルートディレクトリパスは、D:\home\site\wwwrootです。また、nodejsアプリケーションについては、Azureファブリックはserver.jsのようなルートディレクトリの入り口スクリプトを見つけるでしょう。リクエストはルートディレクトリのweb.configで処理されます。ファイルが見つからない場合は、エラー404が発生します。

あなたのように、修正したり、アプリケーションの構造を試みることができます。その後、あなたはGITを介して、またはBBからのAzureへアプリケーションをデプロイ、Azureの展開タスクは、コマンドnpm installを実行し、web.configを生成します

-/node_modules 
    -/node_modules... 
server.js 
package.json 
index.html 

ルートディレクトリにあります。

さらに詳しいことがありましたら、お気軽にお知らせください。

+0

この構造を持っていなければならないように見えます。大規模な痛みでした。ゲイリーに感謝します。 – Mark

関連する問題