2017-07-28 5 views
0

私はNodeJSを初めて使用しており、Plesk Onyx 17.5.3サーバーでこれを使用するサブドメインを設定しました。 私は単純なwebsocketsチャットアプリをやったが、うまくいきません。PleskのNodeJS WebSocketサーバーは応答しません

私がやって、コマンドライン経由でアプリを起動した場合:

node server/server.js 

をアプリが完璧に動作します。 server.jsのコードは次のとおりです。

"use strict"; 

process.title = 'node-chat'; 

const WebSocketServer = require('ws').Server; 
const PORT = 9000; 
const wss = new WebSocketServer({port: PORT}); 

console.log('WSS'); 

let messages = []; 
wss.on('connection', function (ws) { 
    console.log('WS connection'); 
    messages.forEach(function(message){ 
    ws.send(message); 
    }); 
    ws.on('message', function (message) { 
    messages.push(message); 
    console.log('Message Received: %s', message); 
    wss.clients.forEach(function (conn) { 
     conn.send(message); 
    }); 
    }); 
}); 

wss.on('error', function(obj){ 
    console.log('WS error'); 
    console.log(obj); 
}); 

console.log((new Date()) + 'server.js started'); 

私はそれが動作しませんPlesks「再起動アプリ」を使用してアプリケーションを起動した場合。 ps auxを実行すると、プロセスが動作していることがわかります。

App 17579 stdout: WSS 
App 17579 stdout: Fri Jul 28 2017 13:52:44 GMT+0200 (CEST)server.js started 

をしかし、誰ログのWebSocketサーバが起動またはクラッシュした、それだけでは動作しませんと言ってもありません:私が見たログファイルには、それを開始しました。私は、サーバーへのクライアント側のJSアプリを接続しようとした場合、それはサーバーに接続できないというエラーを与える:

WebSocket connection to 'ws://server_address:9000/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED 

任意の手がかり?

ありがとうございます!

答えて

-1

PleskにNodejsログがどこにあるのか尋ねることができますか?そして、あなたはどのようにpleskのコンソールにアクセスできますか?あなたの質問への答えとして

それはあなたが提供するポートは、あなたのノード・アプリケーションへのWebからのトラフィックを許可するように設定されていないことが考えられます。だから私は使用をお勧めします

var port = process.env.PORT || 9000; 

この行は、ユーザー環境データを含むオブジェクトで構成できるポートを使用しようとします。

関連する問題