更改iPython笔记本服务器/ Jupyter的默认端口

jon*_*ock 24 port ipython ipython-notebook anaconda jupyter

我试图在防火墙后面的机器上运行ipython notebook/jupyter服务器.唯一打开的端口是端口80.所以我想知道如何将默认端口从8890更改为80?

我运行了以下命令ipython profile create来创建配置文件.

然后编辑ipython_notebook_config.py并编辑它以包含以下内容:

c = get_config()
c.NotebookApp.port = 80
Run Code Online (Sandbox Code Playgroud)

当我尝试运行python笔记本时.我收到以下错误:

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


但是,似乎没有其他东西使用端口80.Apache不会在启动时启动并被禁用.我甚至使用netstat来查看每个端口的使用情况.

$ 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
Run Code Online (Sandbox Code Playgroud)

jet*_*com 57

ipython notebook --ip=0.0.0.0 --port=80 or
jupyter notebook --ip=0.0.0.0 --port=80
Run Code Online (Sandbox Code Playgroud)

是我在流浪盒中运行ipython所做的.(打开流浪盒上的端口以在我的主机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]
Run Code Online (Sandbox Code Playgroud)

如果端口已被占用,请查看阻塞它的内容 - 在我的情况下,它是一个未正确终止的旧的ipython实例.我用这个命令把它们都给了他们

ps auxww | grep 'ipython' | awk '{print $2}' | xargs sudo kill -9
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!对于 jupyterlab 也同样适用!`jupyter 实验室 --端口 8889` (3认同)

小智 22

要临时更改端口,请转到命令提示符并触发以下命令.

jupyter notebook --port 9999
Run Code Online (Sandbox Code Playgroud)

https://jupyter.readthedocs.io/en/latest/running.html

  • 我不同意@Billa。我认为这是最好的答案。它很简单而且有效。 (2认同)

Kum*_* KS 9

在 Jupyter 中,我们可以通过两种方式在不同的端口上启动笔记本。

  1. 临时端口- 通过像下面的命令一样在 args 中提及端口,我们可以在该端口上运行 Jupyter。但是每当我们需要在不同的端口中运行 Jupyter 时,我们都必须在命令参数中提及端口。
jupyter notebook --port 9999
Run Code Online (Sandbox Code Playgroud)
  1. 永久端口配置- 通过更改配置,我们可以在机器的不同端口上永久运行 Jupyter。请按照以下步骤操作。

    • 在nano中打开配置文件

    nano ~/.jupyter/jupyter_notebook_config.py

    • 通过更改以下配置的值来更改端口

    c.NotebookApp.port = 9999

    • 启动笔记本

    jupyter notebook

答对了!!!


Mat*_*att 8

有些东西已经在监听 80,你不能将 2 个服务器绑定到同一个端口。使用侦听 80 的代理,并根据 URL 或地址重定向到您的其他服务器和 IPython。也不要使用 80,使用 443,如果您运行的是公共服务器,为了安全起见,它应该通过 TLS。

请注意,对于任何低端口号,您可能需要将进程权限增加到 root,可能使用 sudo。

  • 您是否以 root 身份运行?如果没有足够的权限,您将无法绑定到较低的端口。 (2认同)
  • 因为是较低的端口,所以我不得不用sudo命令启动服务器```sudo ipython notebook --profile=nbserver``` / ```sudo ipython notebook --port 80```。干杯@马特 (2认同)