2017-07-28 6 views
0

Ich bin neu bei NodeJS und habe gerade eine Subdomain eingerichtet, um damit auf meinem Plesk Onyx 17.5.3 Server zu arbeiten. Ich habe eine einfache Websocket-Chat-App gemacht, aber es funktioniert nicht.NodeJS Websocket-Server auf Plesk antwortet nicht

Wenn ich die App über die Kommandozeile starten zu tun:

node server/server.js 

die App funktioniert einwandfrei. Der Code in server.js ist:

"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'); 

Wenn ich die Anwendung mit Plesk "Neustart App" starten, funktioniert es nicht. Doing a ps aux Ich kann sehen, der Prozess funktioniert. In der Protokolldatei sehe ich es begonnen hat:

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

Aber es gibt kein Protokoll sagen websocket Server oder abgestürzt begonnen hat, es funktioniert einfach nicht. Wenn ich versuche, eine Client-Seite js App mit dem Server zu verbinden, einen Fehler gibt sagen, dass es nicht mit dem Server verbinden kann:

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

Irgendwelche Hinweise?

Danke!

Antwort

-1

Darf ich fragen, wo Sie die Nodejs Logs auf Plesk gefunden haben? Und wie kommst du mit plesk auf die Konsole?

Als Antwort auf Ihre Frage:

Es könnte sein, dass der entsprechende Port vorgesehen ist, nicht für den Verkehr aus dem Internet auf Ihren Knoten-Anwendung zu ermöglichen, konfiguriert. Deshalb würde ich empfehlen

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

Diese Zeile verwendet wird versuchen, den Port zu verwenden, die in einem Objekt konfiguriert werden, um die Benutzerumgebung Daten enthält.