Wie kann ich eine Shiny-App über das Internet remote ausführen?

491
Tendero

Ich kenne praktisch nichts über Server, aber ich habe eine ziemlich spezifische Frage, bei der ich glaube, dass Sie mir helfen können. Lass es mich wissen, wenn es zu vage ist.

Ich bin auf Ubuntu 16.04. Ich habe ein R-Skript, das 4 Eingabeparameter (eine CSV-Datei und 3 Ganzzahlen) und 3 Ausgänge (2 Diagramme und eine CSV-Datei) hat. Der Code läuft auf GPU und ich habe einen leistungsfähigen Computer zur Verfügung. Ich möchte, dass das Programm von überall im Internet zugänglich ist, der Code sollte jedoch immer auf meinem PC (der über die GPU-Recheneinheit verfügt) ausgeführt werden. Ich konnte dies für jeden Computer in meinem Netzwerk erreichen, der über die URL auf die Anwendung zugreift http://192.168.x.x/app_name, wobei 192.168.x.xdie lokale IP-Adresse des PCs mit der GPU lautet.

Gibt es eine Möglichkeit, dies überall im Internet zu ermöglichen? Ist es möglich, dass Computer außerhalb meines LANs die App auf dem installierten Shiny-Server verwenden können? Ich denke, meine Frage ist die gleiche wie diese, aber die Lösung dort trifft nicht auf meinen Fall zu, da meine IP-Adresse nicht Klasse A ist. Ich bin ein absoluter Anfänger, daher weiß ich nicht wirklich, was eine "Portweiterleitung" ist oder wie es geht

0
Die IP-Adresse von niemandem ist Klasse A, da Klassen seit 1993 nicht mehr existieren. Diese Antwort, auf die Sie verweisen, ist leider voller Fehler. Es gibt keine Verbindung zwischen der nicht vorhandenen "Klasse" einer IP-Adresse und der Möglichkeit, einen Server zu hosten. Alle IP-Adressen können Server und alle globalen IP-Adressen Server im globalen Internet hosten. Michael Hampton vor 6 Jahren 0
@MichaelHampton Hallo Michael, danke für deine Kommentare. Warum denken Sie, dass Portweiterleitung der Schlüssel zu dieser Frage ist? Ist das der Weg zu gehen? Ich suche tatsächlich nach einer Möglichkeit, meinen Shiny-Server (sicher) über das Internet zugänglich zu machen. Portweiterleitung der Lösung? Tendero vor 6 Jahren 0
Portweiterleitung ist in der Tat die Lösung. Nehmen Sie sich ein paar Minuten Zeit, um die verknüpfte Antwort zu studieren, da es einige Konzepte gibt, mit denen Sie vertraut sein sollten, damit Sie tief verstehen, warum es die Lösung ist und wie sie funktioniert. Michael Hampton vor 6 Jahren 0
@MichaelHampton Ich werde es mir ansehen, danke. Ist das sicher? Oder kann jemand aus dem Internet auf mein LAN zugreifen, wenn ich diese Schritte befolge? Tendero vor 6 Jahren 0
Lesen Sie zuerst die verknüpfte Antwort, da beide Fragen dort beantwortet werden. Michael Hampton vor 6 Jahren 0

1 Antwort auf die Frage

0
Tom

Sie können den Computer mit SSH im Internet verfügbar machen, müssen jedoch die Dateien über SCP kopieren. Sie können beispielsweise auch ein Web-Frontend schreiben, von dem aus Sie Dateien auf Ihren Server hochladen können. Dann lässt der Webserver Ihr Skript ausführen und liefert die Ergebnisse in eine Webseite (für die Plots) und einen Download-Link (für die CSV-Datei).