web-dev-qa-db-fra.com

Modification du port par défaut pour le serveur d'ordinateurs portables iPython / Jupyter

J'essaie d'exécuter un ordinateur portable/serveur jupyter ipython sur une machine derrière un pare-feu. Le seul port ouvert est le port 80. Je me demandais donc comment changer le port par défaut de 8890 à 80?

J'ai exécuté la commande suivante ipython profile create pour créer un profil.

Puis édité ipython_notebook_config.py et l'a modifié pour contenir les éléments suivants:

c = get_config()
c.NotebookApp.port = 80

Lorsque j'essaie d'exécuter python notebook. J'obtiens l'erreur suivante:

ERROR: the notebook server could not be started because no available port could be found.


Cependant, rien d'autre ne semble utiliser le port 80. Apache ne démarre pas au démarrage et est désactivé. J'ai même utilisé netstat pour voir ce qui utilise chaque port.

$ Sudo netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address                 State       PID/Program name
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1226/vsftpd     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1532/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3433/cupsd      
tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN      1410/beam.smp   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1653/mysqld     
tcp6       0      0 :::22                   :::*                    LISTEN      1532/sshd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      3433/cupsd      
udp        0      0 0.0.0.0:52741           0.0.0.0:*                           796/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           796/avahi-daemon: r
udp        0      0 0.0.0.0:31114           0.0.0.0:*                           1105/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1105/dhclient   
udp        0      0 xxx.xxx.xxx.xxx:123        0.0.0.0:*                           2607/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           2607/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           2607/ntpd       
udp        0      0 0.0.0.0:631             0.0.0.0:*                           1630/cups-browsed
udp6       0      0 :::5353                 :::*                                796/avahi-daemon: r
udp6       0      0 :::69                   :::*                                1607/in.tftpd   
udp6       0      0 :::24682                :::*                                1105/dhclient   
udp6       0      0 xxxx::xxxx:xxxx:xxxx:123 :::*                                2607/ntpd       
udp6       0      0 ::1:123                 :::*                                2607/ntpd       
udp6       0      0 :::123                  :::*                                2607/ntpd       
udp6       0      0 :::59559                :::*                                796/avahi-daemon: r
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     20483    3253/pulseaudio     /run/user/1003/Pulse/native
unix  2      [ ACC ]     STREAM     LISTENING     18697    3179/gnome-session  @/tmp/.ICE-unix/3179
unix  2      [ ACC ]     STREAM     LISTENING     15765    2507/X              /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     20481    3253/pulseaudio     /tmp/.esd-1003/socket
unix  2      [ ACC ]     STREAM     LISTENING     18698    3179/gnome-session  /tmp/.ICE-unix/3179
unix  2      [ ACC ]     STREAM     LISTENING     15764    2507/X              @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     10538    768/bluetoothd      /var/run/sdp
unix  2      [ ACC ]     STREAM     LISTENING     21564    3433/cupsd          /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     10820    1653/mysqld         /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     16666    3184/dbus-daemon    @/tmp/dbus-1gowauBlhV
unix  2      [ ACC ]     STREAM     LISTENING     14432    748/dbus-daemon     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     8877     1/init              @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     16698    3136/ibus-daemon    @/tmp/dbus-ue1VKkXx
unix  2      [ ACC ]     STREAM     LISTENING     12135    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/control
unix  2      [ ACC ]     STREAM     LISTENING     14469    796/avahi-daemon: r /var/run/avahi-daemon/socket
unix  2      [ ACC ]     STREAM     LISTENING     10034    3102/dbus-daemon    @/tmp/dbus-SCYaEa0Hje
unix  2      [ ACC ]     STREAM     LISTENING     18577    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     18581    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/gpg
unix  2      [ ACC ]     STREAM     LISTENING     18583    3005/gnome-keyring- /run/user/1003/keyring-htUkSg/ssh
unix  2      [ ACC ]     STREAM     LISTENING     18569    3007/init           @/com/ubuntu/upstart-session/1003/3007
unix  2      [ ACC ]     SEQPACKET  LISTENING     11473    396/systemd-udevd   /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     10725    1572/acpid          /var/run/acpid.socket
22
jonhurlock

Quelque chose écoute déjà sur 80, vous ne pouvez pas lier 2 serveurs au même port. Utilisez un proxy qui écoute 80 et redirigez vers vos autres serveurs et base IPython sur URL ou adresse. N'utilisez pas non plus 80, utilisez 443, si vous utilisez un serveur public, il devrait être sur TLS pour plus de sécurité.

Notez que pour tout numéro de port bas, vous devrez peut-être augmenter les privilèges de processus à root, en utilisant éventuellement Sudo.

4
Matt
ipython notebook --ip=0.0.0.0 --port=80 or
jupyter notebook --ip=0.0.0.0 --port=80

c'est ce que j'ai fait pour lancer ipython dans ma boîte vagabonde. (Ouverture des ports sur la boîte vagabonde pour y accéder sur mon hôte Mac)

usage: ipython [-h] [--certfile NOTEBOOKAPP.CERTFILE] [--ip NOTEBOOKAPP.IP]
               [--pylab [NOTEBOOKAPP.PYLAB]]
               [--log-level NOTEBOOKAPP.LOG_LEVEL]
               [--port-retries NOTEBOOKAPP.PORT_RETRIES]
               [--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR]
               [--config NOTEBOOKAPP.CONFIG_FILE]
               [--keyfile NOTEBOOKAPP.KEYFILE] [--port NOTEBOOKAPP.PORT]
               [--transport KERNELMANAGER.TRANSPORT]
               [--browser NOTEBOOKAPP.BROWSER] [--script] [-y] [--no-browser]
               [--debug] [--no-mathjax] [--no-script] [--generate-config]

Dans le cas où le port est déjà occupé, voyez ce qui le bloque - dans mon cas, c'était une ancienne instance d'ipython qui n'avait pas été terminée correctement. Je les ai tous tués avec cette commande

ps auxww | grep 'ipython' | awk '{print $2}' | xargs Sudo kill -9
53
jetpackdata.com

Pour changer de port temporairement, indiquez un numéro de port différent lorsque nous démarrons le serveur de notebook jupyter à partir d'un terminal en tirant la commande suivante.

jupyter notebook --port 9999

En savoir plus https://jupyter.readthedocs.io/en/latest/running.html

22
Mukesh Kumar Mehta

Dans Jupyter, nous pouvons démarrer le portable sur un port différent de deux manières.

  1. Port temporaire - En mentionnant le port dans args comme la commande ci-dessous, nous pouvons exécuter Jupyter sur ce port. Mais nous devons mentionner le port dans l'argument de commande chaque fois que nous devons exécuter Jupyter dans un port différent.
jupyter notebook --port 9999
  1. Configuration du port permanent - En changeant la configuration nous pouvons exécuter Jupyter sur différents ports de la machine en permanence. Veuillez suivre les étapes ci-dessous pour cela.

    • Ouvrez le fichier de configuration dans nano

    nano ~/.jupyter/jupyter_notebook_config.py

    • Changez le port en changeant la valeur de la configuration ci-dessous

    c.NotebookApp.port = 9999

    • démarrer le cahier par

    jupyter notebook

Bingo !!!

0
Kumar Immanuel