Ich habe einen Jupyter Notebook-Server auf meinem centos6.5-Server gestartet. Und jupyter läuft wie
[I 17:40:59.649 NotebookApp] Serving notebooks from local directory: /root
[I 17:40:59.649 NotebookApp] 0 active kernels
[I 17:40:59.649 NotebookApp] The Jupyter Notebook is running at:https://[all ip addresses on your system]:8045/
[I 17:40:59.649 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Wenn ich im selben lokalen Netzwerk remote auf Jupyter zugreifen möchte, z. B. Öffnen http://192.168.1.111:8045/
, kann ich eine Jupyter-Seite überhaupt nicht öffnen. Übrigens kann ich erfolgreich auf Remote-Centos-Server zugreifen.
Was ist der mögliche Grund?
quelle
jupyter notebook --ip 0.0.0.0
, können Sie die Laufzeit mit demselben Ergebnis festlegen , ohne dass eine Konfigurationsdatei erforderlich ist.Ich habe es geschafft, den Zugriff auf meinen lokalen Server per IP mit dem folgenden Befehl zu erhalten:
Ersetzen Sie die
xx.xx.xx.xx
durch Ihre lokale IP des Jupyter-Servers.quelle
jupyter notebook --ip 0.0.0.0 --port 8888
0.0.0.0
ermöglicht den Zugriff auf das Notebook über alle Netzwerkschnittstellen, nicht nur über localhost. Wenn Sie es ausführen und auf demselben Computer darauf zugreifen oder einen Server wie nginx davor127.0.0.1
James023 hat bereits die richtige Antwort gegeben. Einfach formatieren
Wenn Sie die Datei jupyter_notebook_config.py noch nicht konfiguriert haben
Schritt 1: Generieren Sie die Datei, indem Sie diese Zeile in die Konsole eingeben
Schritt 2: Bearbeiten Sie die Werte
(Fügen Sie die folgenden zwei Zeilen an einer beliebigen Stelle hinzu, da die Standardwerte ohnehin kommentiert werden.)
c.NotebookApp.allow_origin = '*'
# alle Ursprünge zulassenc.NotebookApp.ip = '0.0.0.0'
# Alle IPs abhörenSchritt 3: Sobald Sie den gedit geschlossen haben, falls Ihr Port blockiert ist
sudo ufw allow 8888
# Aktivieren Sie Ihren TCP: 8888-Port, der Ihr Standard-Jupyter-Port istSchritt 4: Legen Sie ein Passwort fest
jupyter notebook password
# Es wird zur Eingabe des Passworts aufgefordertSchritt 5: Jupyter starten
und verbinden wie http://xxx.xxx.xxx.xxx:8888/login ?
quelle
c.NotebookApp.allow_origin
, fügen Sie vor dem hinzuc=get_config()
. Auch beim Öffnen des Links in Ihrem PC, anstatt die Verwendung zuhttps
verwendenhttp
. so wird es so etwas öffnenhttp://external_ip_from_GCP_console:8888
. Die Verwendunghttp
ist wichtig, es ist ein kleines Detail und leicht zu überlappen. Vielen Dank an @Koushik für die Zusammenstellung der Antwort. Ich habe Ihre Antwort positiv bewertet, weil sie für mich funktioniert hat.In RedHat 7 müssen wir den spezifischen Port zulassen, bevor wir den Jupiter-Befehl ausführen. Angenommen, der Hafen ist
8080
.Dann können wir es normal ausführen. Zum Beispiel mit:
oder was auch immer du magst.
quelle
ip
undport
ist perfektAlternativ können Sie einfach einen Tunnel zum Server erstellen:
Dann öffnen
127.0.0.1:8888
Sie einfach in Ihrem Browser.Sie lassen das auch weg,
-i <your_key>
wenn Sie keine Identitätsdatei haben.quelle
8888:127.0.0.1:8888
ist der erste8888
der Port auf dem lokalen Computer und der spätere der Port auf dem Remotecomputer.ssh your_username@host_ip_address -L your_port:127.0.0.1:remote_port
funktioniert in meinem Fall. Vielen Dank.Über Ihre Befehlszeile können wir sehen, dass Ihr Jupyter-Server normal ausgeführt wird. Der Grund, warum Sie nicht auf Ihren Remote-Jupyter-Server zugreifen können, besteht darin, dass die Firewall-Regeln Ihres Remote-Centos6.5-Servers die eingehende Anforderung Ihres lokalen Browsers blockieren, dh Ihr TCP blockieren: 8045 Port.
sudo ufw allow 80 # enable http server
sudo ufw allow 443 # enable https server
sudo ufw allow 8045 # enable your tcp:8045 port
Versuchen Sie dann erneut, auf Ihren Jupyter zuzugreifen.
Vielleicht müssen Sie diesen Ort in Ihrem auch auskommentieren und bearbeiten
jupyter_notebook_config.py
Datei :und sogar Ihr VPN herunterfahren, wenn Sie eines haben.
quelle
Der andere Grund kann eine Firewall sein. Wir hatten sogar das gleiche Problem mit
jupyter notebook --ip xx.xx.xx.xxx --port xxxx.
Dann stellt sich heraus, dass es sich bei unserem neuen centOS7 um eine Firewall handelt.
quelle
Ich verwende Anaconda3 unter Windows 10. Wenn Sie es installieren, markieren Sie "Zu Umgebungsvariablen hinzufügen".
Voraussetzung: Eine Notebook-Konfigurationsdatei
Überprüfen Sie, ob Sie eine Notebook-Konfigurationsdatei haben
jupyter_notebook_config.py
. Der Standardspeicherort für diese Datei ist Ihr Jupyter-Ordner in Ihrem Home-Verzeichnis:C:\\Users\\USERNAME\\.jupyter\\jupyter_notebook_config.py
/Users/USERNAME/.jupyter/jupyter_notebook_config.py
/home/USERNAME/.jupyter/jupyter_notebook_config.py
Wenn Sie noch keinen Jupyter-Ordner haben oder wenn Ihr Jupyter-Ordner keine Notebook-Konfigurationsdatei enthält, führen Sie den folgenden Befehl aus:
$
jupyter notebook --generate-config
Dieser Befehl erstellt bei Bedarf den Jupyter-Ordner und eine Notebook-Konfigurationsdatei
jupyter_notebook_config.py
in diesem Ordner.Standardmäßig akzeptiert Jupyter Notebook nur Verbindungen von localhost.
Bearbeiten Sie die
jupyter_notebook_config.py
Datei wie folgt, um alle eingehenden Verbindungen zu akzeptieren:c.NotebookApp.allow_origin = '*' #allow all origins
Sie müssen auch die IP-Adressen ändern, die das Notebook abhört:
c.NotebookApp.ip = '0.0.0.0' # listen on all IPs
quelle
Wenn Sie eine Conda-Umgebung verwenden, sollten Sie die Konfigurationsdatei erneut einrichten. Und der Speicherort der Datei wird ungefähr so sein. Ich habe keine Konfigurationsdatei eingerichtet, nachdem ich env in Conda erstellt habe, und das war mein Verbindungsproblem.
quelle
Wenn Sie immer noch Probleme haben und eine EC2-AWS-Instanz ausführen, müssen Sie möglicherweise nur den Port über die AWS-Konsole öffnen.
siehe diese Antwort
quelle
Ich habe das gleiche Problem, aber keine der oben genannten Problemumgehungen funktioniert für mich. Aber wenn ich ein Docker-Version-Jupiter-Notebook mit derselben Konfiguration einrichte, funktioniert es für mich.
Für meine Situation könnte es sich um Probleme mit iptables-Regeln handeln. Manchmal können Sie nur verwenden
ufw
, um alle Routen zu Ihrem Server zuzulassen. Aber meine, nuriptables -F
um alle Regeln zu klären. Dann überprüfeiptables -L -n
, ob es funktioniert.Problem gelöst.
quelle
Bearbeiten Sie Folgendes in der Datei jupyter_notebook_config. Geben Sie
die tatsächliche IP-Adresse
des Computers ein. c.NotebookApp.ip = '192.168.xx'
c.NotebookApp.allow_origin = '*'
auf der clientseitigen jupyter notebook mit login password
jupyter notebook password starten
Nachdem Sie das Kennwort festgelegt haben, melden Sie sich im Browser an und geben Sie die IP-Adresse des Remoteservers gefolgt vom Port ein. Beispiel 192.168.1.56:8889
quelle
Versuchen Sie es mit dem folgenden Schritt:
Der folgende Befehl behebt das Lesen / Schreiben
quelle
Ist das Ihre private IP-Adresse? In diesem Fall müssen Sie Ihre öffentliche verwenden. Gehen Sie zu ipchicken, um herauszufinden, was es ist. Ich weiß, dass Sie sich im selben LAN befinden, aber versuchen Sie dies, um festzustellen, ob Probleme behoben sind.
quelle
Wer noch feststeckt - folgen Sie den Anweisungen auf dieser Seite .
Grundsätzlich:
Befolgen Sie die Schritte, die ursprünglich von AWS beschrieben wurden.
source activate python3
Schneiden Sie nichts aus und fügen Sie nichts ein. Öffnen Sie stattdessen ein neues Terminalfenster, ohne das erste zu schließen.
Geben Sie im neuen Fenster den SSH-Befehl ein, wie im obigen Link beschrieben.
Öffnen Sie einen Webbrowser und gehen Sie zu http://127.0.0.1:8157
quelle