2016-12-06 6 views
2

アプリケーション(Node.js + Express)を作成してローカルで実行しました。 AzureでNode.jsアプリケーションを作成し、FTP経由でファイルをアップロードしました。そして、私は立ち往生しました - それを実行する方法?Node.jsはローカルで動作しますが、リモートで「Bad request」を返します

私はazureでリモートコンソールの種類を見つけ、そこからすべてのパッケージをインストールしました。しかし、私はアプリを実行しようとしたとき: "npm開始"私は1つだけの行を持っていた: "悪い要求"。どういう意味ですか?それをどうしたらいいですか?

./bin/wwwファイルの先頭:

var app = require('../app'); 
var debug = require('debug')('goWeb:server'); 
var http = require('http'); 

/** 
* Get port from environment and store in Express. 
*/ 

var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 

/** 
* Create HTTP server. 
*/ 

var server = http.createServer(app); 

/** 
* Listen on provided port, on all network interfaces. 
*/ 

server.listen(port); 
server.on('error', onError); 
server.on('listening', onListening); 

goWebは - package.jsに述べたように、私のアプリです。

UPDポートを80に変更しましたが、「ポート80に昇格された権限が必要です」というエラーが表示されます。私は次に何をすべきか分かりません。 おかげ

+0

コードを表示する必要があります。例えば。 'npm start'コマンドは何をしますか? –

+0

私はそれが紺碧(私は何か他のものを信じています)が何をしているのか分かりませんが、ローカルでは./bin/wwwに行きwwwファイルを実行します。しかし、遠隔的に - 私が "ノード./bin/www"を実行しても、私は同じ結果を持っています。そして、たとえ "node app.js"を実行しても同じものを返します。 – mimic

+0

@miparnisariのように言った:あなたはコードを表示していないので、何が起こっているのか把握することは不可能だ。ちょっと不思議なこと:あなたのアプリは何のポートを聴いていますか? –

答えて

0

あなたのapp.jsファイルは、コンテンツがWebサーバーiisnodeによって提供されていて、Azureのウェブアプリケーションでnpm startを行う必要はありませんwwwrootフォルダにないと思われます。あなたは私のwwwroot構造を見てみることができます

、それは次のようになります。 enter image description here

またweb.configに以下の行を持つapp.jsファイルのパスをカスタマイズすることができます。

<handlers> 
    <!-- Indicates that the app.js file is a node.js site to be handled by the iisnode module --> 
    <add name="iisnode" path="app.js" verb="*" modules="iisnode"/> 
</handlers> 
+0

私のアプリはNode.jsの下でIISの追跡なしで実行されているので、web.configファイルもありません。 – mimic

+0

'Azure App Services'にデプロイされたNode.jsアプリケーションは' iisnode'モジュールを使用して実行しており、 'web.config'ファイルは' server.js'または 'app.js'ファイルが入り口になると自動的に作成されます'wwwroot'ディレクトリに置かれます。 –

+0

ああ、そうだよ、そうだよ!私はIISについて知らなかった。それは奇妙に聞こえる。 – mimic

関連する問題