J'ai démarré un serveur Jupyter Notebook sur mon serveur centos6.5 et jupyter fonctionne comme
[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).
Lorsque je veux accéder à Jupyter à distance dans le même réseau local, disons ouvert http://192.168.1.111:8045/
, je ne peux pas du tout ouvrir une page Jupyter. En passant, je peux accéder au serveur centos distant avec succès.
Quelle est la raison possible?
la source
jupyter notebook --ip 0.0.0.0
vous pouvez décider de l'exécution avec le même résultat, mais sans avoir besoin d'un fichier de configuration.J'ai réussi à obtenir l'accès à mon serveur local par ip en utilisant la commande ci-dessous:
remplacez le
xx.xx.xx.xx
par votre adresse IP locale du serveur jupyter.la source
jupyter notebook --ip 0.0.0.0 --port 8888
0.0.0.0
permettra l'accès au notebook sur toutes les interfaces réseau, pas seulement sur localhost. Si vous l'exécutez et y accédez sur la même machine, ou si vous exécutez un serveur comme nginx devant lui, vous devriez le limiter à127.0.0.1
seulementJames023 a déjà donné la bonne réponse. Il suffit de le formater
si vous n'avez pas déjà configuré le fichier jupyter_notebook_config.py
Étape 1: générer le fichier en tapant cette ligne dans la console
Étape 2: modifiez les valeurs
(ajoutez les deux lignes suivantes n'importe où car les valeurs par défaut sont quand même commentées)
c.NotebookApp.allow_origin = '*'
#autoriser toutes les originesc.NotebookApp.ip = '0.0.0.0'
# écoute sur toutes les IPÉtape 3: une fois que vous avez fermé le gedit, au cas où votre port serait bloqué
sudo ufw allow 8888
# activez votre port tcp: 8888, qui est votre port jupyter par défautÉtape 4: définir un mot de passe
jupyter notebook password
# il demandera le mot de passeÉtape 5: Démarrez Jupyter
et connectez-vous comme http://xxx.xxx.xxx.xxx:8888/login ?
la source
c.NotebookApp.allow_origin
, ajoutezc=get_config()
. Aussi lors de l'ouverture du lien dans votre ordinateur personnel, au lieu d'utiliser l'https
utilisationhttp
. donc il ouvrira quelque chose commehttp://external_ip_from_GCP_console:8888
. l'utilisationhttp
est importante, c'est un petit détail et facile à chevaucher. Merci @Koushik pour avoir compilé la réponse. J'ai voté pour votre réponse parce que cela a fonctionné pour moi.Dans RedHat 7, nous devons autoriser le port spécifique avant d'exécuter la commande Jupiter. Disons que le port est
8080
.Ensuite, nous pouvons l'exécuter normalement. Par exemple, en utilisant:
ou ce que vous aimez.
la source
ip
etport
est parfaitSinon, vous pouvez simplement créer un tunnel vers le serveur:
Ensuite, ouvrez simplement
127.0.0.1:8888
votre navigateur.Vous omettez également
-i <your_key>
si vous n'avez pas de fichier_identité.la source
8888:127.0.0.1:8888
, le premier8888
est le port de la machine locale, le dernier est le port de la machine distante.ssh your_username@host_ip_address -L your_port:127.0.0.1:remote_port
fonctionne dans mon cas. Merci.Depuis votre ligne de commande, nous pouvons voir que votre serveur jupyter fonctionne normalement.La raison pour laquelle vous ne pouvez pas accéder à votre serveur jupyter distant est que les règles de pare-feu de votre serveur centos6.5 distant bloquent la requête entrante de votre navigateur local, c'est-à-dire bloquent votre tcp: 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
puis essayez à nouveau d'accéder à votre jupyter.
Peut-être que vous devez également décommenter et modifier cet endroit dans votre
jupyter_notebook_config.py
fichier:et même éteignez votre VPN si vous en avez un.
la source
L'autre raison peut être un pare-feu. Nous avons eu le même problème même avec
notebook jupyter --ip xx.xx.xx.xxx --port xxxx.
Ensuite, il s'avère être un pare-feu sur notre nouveau centOS7.
la source
J'utilise Anaconda3 sur Windows 10. Lorsque vous l'installez, rembember pour marquer "ajouter aux variables d'environnement".
Prérequis: un fichier de configuration du notebook
Vérifiez si vous disposez d' un fichier de configuration de l' ordinateur,
jupyter_notebook_config.py
. L'emplacement par défaut de ce fichier est votre dossier Jupyter situé dans votre répertoire de base:C:\\Users\\USERNAME\\.jupyter\\jupyter_notebook_config.py
/Users/USERNAME/.jupyter/jupyter_notebook_config.py
/home/USERNAME/.jupyter/jupyter_notebook_config.py
Si vous n'avez pas encore de dossier Jupyter ou si votre dossier Jupyter ne contient pas de fichier de configuration de notebook, exécutez la commande suivante:
$
jupyter notebook --generate-config
Cette commande créera le dossier Jupyter si nécessaire, et créera le fichier de configuration du notebook,,
jupyter_notebook_config.py
dans ce dossier.Par défaut, Jupyter Notebook n'accepte que les connexions de l'hôte local.
Modifiez le
jupyter_notebook_config.py
fichier comme suit pour accepter toutes les connexions entrantes:c.NotebookApp.allow_origin = '*' #allow all origins
Vous devrez également modifier les adresses IP sur lesquelles le notebook écoutera:
c.NotebookApp.ip = '0.0.0.0' # listen on all IPs
la source
si vous utilisez l'environnement Conda, vous devez configurer à nouveau le fichier de configuration. Et l'emplacement du fichier sera quelque chose comme ça. Je n'ai pas configuré de fichier de configuration après avoir créé env dans Conda et c'était mon problème de connexion.
la source
Si vous rencontrez toujours des problèmes et que vous exécutez quelque chose comme une instance EC2 AWS, il peut s'agir simplement d'ouvrir le port via la console AWS.
voir cette réponse
la source
J'ai eu le même problème mais aucune des solutions de contournement ci-dessus ne fonctionne pour moi. Mais si je configure un notebook jupyter version docker, avec la même configuration, cela fonctionne pour moi.
Pour ma situation, il pourrait s'agir de problèmes de règle iptables. Parfois, vous pouvez simplement utiliser
ufw
pour autoriser tous les itinéraires vers votre serveur. Mais le mien justeiptables -F
pour effacer toute règle. Puis vérifieriptables -L -n
si cela fonctionne.Problème résolu.
la source
éditez ce qui suit sur le fichier jupyter_notebook_config
entrez l'adresse IP réelle de l'ordinateur
c.NotebookApp.ip = '192.168.xx'
c.NotebookApp.allow_origin = '*'
côté client, lancez jupyter notebook avec le mot de passe de connexion mot de passe
jupyter notebook
après avoir défini la connexion par mot de passe sur le navigateur, puis tapez l'adresse IP du serveur distant suivie du port. exemple 192.168.1.56:8889
la source
Essayez de faire l'étape ci-dessous:
La commande suivante corrige la lecture / écriture
la source
Est-ce votre adresse IP privée? Si tel est le cas, vous devrez utiliser votre version publique. Allez sur ipchicken pour découvrir de quoi il s'agit. Je sais que vous êtes dans le même LAN, mais essayez ceci pour voir si cela résout des problèmes.
la source
Quiconque est toujours bloqué - suivez les instructions sur cette page .
Fondamentalement:
Suivez les étapes décrites initialement par AWS.
source activate python3
Ne coupez et ne collez rien. Ouvrez plutôt une nouvelle fenêtre de terminal sans fermer la première.
Dans la nouvelle fenêtre, entrez la commande SSH comme décrit dans le lien ci-dessus.
Ouvrez un navigateur Web et accédez à http://127.0.0.1:8157
la source