webentwicklung-frage-antwort-db.com.de

Ändern des Standardports für iPython Notebook Server / Jupyter

Ich versuche, ein Ipython-Notebook/Jupyter-Server auf einem Computer hinter einer Firewall auszuführen. Der einzige offene Port ist Port 80. Sie haben sich also gefragt, wie ich den Standardport von 8890 auf 80 ändern kann?

Ich habe den folgenden Befehl ausgeführt ipython profile create, um ein Profil zu erstellen.

Dann bearbeitet ipython_notebook_config.py und bearbeitete es so, dass es Folgendes enthält:

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

Beim Versuch, python notebook auszuführen, wird folgende Fehlermeldung angezeigt:

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


Allerdings scheint nichts anderes den Port 80 zu verwenden. Apache bootet beim Start nicht und ist deaktiviert. Ich habe sogar netstat verwendet, um zu sehen, was jeden Port verwendet.

$ 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

Etwas lauscht bereits auf 80, Sie können nicht zwei Server an denselben Port binden. Verwenden Sie einen Proxy, der 80 abhört, und leiten Sie auf der Basis von URL oder Adresse zu Ihren anderen Servern und IPython weiter. Verwenden Sie auch nicht 80, sondern 443, wenn Sie einen öffentlichen Server betreiben, sollte dieser aus Sicherheitsgründen über TLS laufen.

Beachten Sie, dass Sie für eine niedrige Portnummer möglicherweise die Prozessberechtigungen für root erhöhen müssen, möglicherweise unter Verwendung von Sudo.

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

habe ich gemacht, um ipython in meiner vagrant box zu starten. (Öffnete die Ports auf der Vagrant-Box, um auf meinem Host-Mac darauf zuzugreifen.)

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]

Wenn der Port bereits belegt ist, sehen Sie, was ihn blockiert - in jedem Fall handelt es sich um eine alte Instanz von ipython, die nicht ordnungsgemäß beendet wurde. Ich habe sie alle mit diesem Befehl getötet

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

Um den Port vorübergehend zu ändern, geben Sie eine andere Portnummer an, wenn Sie den Jupyter Notebook-Server von einem Terminal aus starten, indem Sie den folgenden Befehl ausführen.

jupyter notebook --port 9999

Lesen Sie mehr https://jupyter.readthedocs.io/en/latest/running.html

22

In Jupyter können wir das Notebook auf zwei Arten an verschiedenen Ports starten.

  1. Temporärer Port - Indem wir den Port in args wie im folgenden Befehl erwähnen, können wir Jupyter auf diesem Port ausführen. Aber wir müssen den Port im Befehlsargument immer dann erwähnen, wenn wir Jupyter in einem anderen Port ausführen müssen.
jupyter notebook --port 9999
  1. Permanente Portkonfiguration - Durch Ändern der Konfiguration können wir Jupyter permanent auf einem anderen Port der Maschine ausführen. Bitte befolgen Sie dazu die folgenden Schritte.

    • Öffnen Sie die Konfigurationsdatei in Nano

    nano ~/.jupyter/jupyter_notebook_config.py

    • Ändern Sie den Port, indem Sie den Wert der folgenden Konfiguration ändern

    c.NotebookApp.port = 9999

    • starten Sie das Notizbuch durch

    jupyter notebook

Bingo!!!

0
Kumar Immanuel