Eu iniciei um servidor Jupyter Notebook no meu servidor centos6.5. E o jupyter está funcionando como
[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).
Quando eu quero acessar o Jupyter remotamente na mesma rede local, digamos aberta http://192.168.1.111:8045/
, não consigo abrir uma página Jupyter. A propósito, posso acessar o servidor centos remoto com sucesso.
Qual é a possível razão?
fonte
jupyter notebook --ip 0.0.0.0
você pode decidir sobre o tempo de execução com o mesmo resultado, mas sem a necessidade de um arquivo de configuração.Consegui acessar meu servidor local por ip usando o comando mostrado abaixo:
substitua o
xx.xx.xx.xx
pelo seu ip local do servidor jupyter.fonte
jupyter notebook --ip 0.0.0.0 --port 8888
0.0.0.0
permitirá o acesso ao notebook em todas as interfaces de rede, não apenas localhost. Se você estiver executando e acessando na mesma máquina, ou estiver executando um servidor como o nginx na frente dele, você deve limitá-lo a127.0.0.1
apenasJames023 já declarou a resposta correta. Apenas formatando
se você ainda não configurou o arquivo jupyter_notebook_config.py
Passo 1: gere o arquivo digitando esta linha no console
Passo 2: edite os valores
(adicione as duas linhas a seguir em qualquer lugar porque os valores padrão são comentados de qualquer maneira)
c.NotebookApp.allow_origin = '*'
#allow todas as origensc.NotebookApp.ip = '0.0.0.0'
# escuta em todos os IPsPasso 3: depois de fechar o gedit, caso sua porta esteja bloqueada
sudo ufw allow 8888
# habilite sua porta tcp: 8888, que é sua porta jupyter padrãoPasso 4: defina uma senha
jupyter notebook password
# solicitará a senhaPasso 5: inicie o jupyter
e conecte-se como http://xxx.xxx.xxx.xxx:8888/login ?
fonte
c.NotebookApp.allow_origin
adicionarc=get_config()
. Também ao abrir o link em seu computador pessoal, em vez dehttps
usarhttp
. então abrirá algo comohttp://external_ip_from_GCP_console:8888
. o usohttp
é importante, é um pequeno detalhe e fácil de sobrepor. Obrigado @Koushik por compilar a resposta. Votei positivamente em sua resposta porque funcionou para mim.jupyter_notebook_config.py
depois de definir a senha na etapa 4No RedHat 7, precisamos permitir a porta específica antes de executar o comando Jupiter. Digamos que o porto seja
8080
.Então podemos executá-lo normalmente. Por exemplo, usando:
ou o que você quiser.
fonte
ip
eport
é perfeitoNa linha de comando, podemos ver que seu servidor jupyter está funcionando normalmente. O motivo pelo qual você não pode acessar seu servidor jupyter remoto é que as regras de firewall do servidor centos6.5 remoto bloqueiam a solicitação de entrada de seu navegador local, ou seja, bloqueie seu tcp: Porta 8045.
sudo ufw allow 80 # enable http server
sudo ufw allow 443 # enable https server
sudo ufw allow 8045 # enable your tcp:8045 port
em seguida, tente acessar seu jupyter novamente.
Talvez você também precise remover o comentário e editar esse local em seu
jupyter_notebook_config.py
arquivo:e até desligue sua VPN, se você tiver uma.
fonte
Como alternativa, você pode apenas criar um túnel para o servidor:
Depois é só abrir
127.0.0.1:8888
no seu navegador.Você também omite o
-i <your_key>
caso não tenha um arquivo de identidade.fonte
8888:127.0.0.1:8888
, a primeira8888
é a porta da máquina local, a última é a porta da máquina remota.O outro motivo pode ser um firewall. Tivemos o mesmo problema mesmo com
notebook jupyter --ip xx.xx.xx.xxx --port xxxx.
Em seguida, é um firewall em nosso novo centOS7.
fonte
Estou usando o Anaconda3 no Windows 10. Ao instalá-lo, lembre-se de marcar "adicionar às variáveis de ambiente".
Pré-requisito: Um arquivo de configuração de notebook
Verifique se você tem um arquivo de configuração do notebook
jupyter_notebook_config.py
,. O local padrão para este arquivo é sua pasta Jupyter localizada em seu diretório inicial:C:\\Users\\USERNAME\\.jupyter\\jupyter_notebook_config.py
/Users/USERNAME/.jupyter/jupyter_notebook_config.py
/home/USERNAME/.jupyter/jupyter_notebook_config.py
Se você ainda não tem uma pasta Jupyter ou se sua pasta Jupyter não contém um arquivo de configuração de notebook, execute o seguinte comando:
$
jupyter notebook --generate-config
Este comando criará a pasta Jupyter, se necessário, e criará o arquivo de configuração do notebook,,
jupyter_notebook_config.py
nesta pasta.Por padrão, o Jupyter Notebook só aceita conexões de localhost.
Edite o
jupyter_notebook_config.py
arquivo da seguinte forma para aceitar todas as conexões de entrada:c.NotebookApp.allow_origin = '*' #allow all origins
Você também precisará alterar os IPs que o notebook ouvirá:
c.NotebookApp.ip = '0.0.0.0' # listen on all IPs
fonte
se você estiver usando o ambiente Conda, deve configurar o arquivo de configuração novamente. E a localização do arquivo será algo assim. Não instalei o arquivo de configuração depois de criar env no Conda e esse era o meu problema de conexão.
fonte
Se você ainda estiver tendo problemas e estiver executando algo como a instância EC2 AWS, pode ser apenas o caso de abrir a porta por meio do console AWS.
veja esta resposta
fonte
Eu tive o mesmo problema, mas nenhuma das soluções alternativas acima funcionam para mim. Mas se eu configurar um notebook jupyter versão docker, com a mesma configuração, funciona para mim.
Para minha situação, podem ser problemas de regra de iptables. Às vezes, você pode apenas usar
ufw
para permitir todas as rotas para o seu servidor. Mas meu apenasiptables -F
para limpar todas as regras. Em seguida, verifiqueiptables -L -n
se funciona.Problema resolvido.
fonte
edite o seguinte no arquivo jupyter_notebook_config
insira o endereço IP real do computador
c.NotebookApp.ip = '192.168.xx'
c.NotebookApp.allow_origin = '*'
no lado do cliente, inicie o jupyter notebook com senha de login senha do
jupyter notebook
depois de definir a senha, faça login no navegador e digite o endereço IP do servidor remoto seguido da porta. exemplo 192.168.1.56:8889
fonte
Tente seguir a etapa abaixo:
O comando a seguir corrige a leitura / gravação
fonte
Eu enfrentei um problema semelhante e resolvi isso depois de fazer o seguinte:
- você simplesmente precisará acessar o link acima para aprender como fazer o servidor jupyter ouvir seu IP de máquina local - você precisará saber seu IP de máquina local (eu uso "ifconfig -a" no ubuntu para descobrir) - por favor, verifique se há centos6
depois de terminar de definir sua configuração, você pode executar o jupyter notebook em seu IP local: jupyter notebook --ip = * --no-browser
substitua * pelo seu endereço IP, por exemplo: jupyter notebook --ip = 192.168.xx --no-browser
agora você pode acessar seu servidor jupyter de qualquer dispositivo conectado ao roteador usando este ip: port (a porta geralmente é 8888, então no meu caso, por exemplo, usei "192.168.xx: 8888" para acessar meu servidor de outros dispositivos)
agora se você deseja acessar este servidor a partir de um IP público, você terá que:
fonte
Esse é o seu endereço IP privado? Nesse caso, você precisará usar o seu público. Vá para ipchicken para descobrir o que é. Sei que você está na mesma LAN, mas tente fazer isso para ver se isso resolve algum problema.
fonte
Qualquer pessoa que ainda esteja presa - siga as instruções nesta página .
Basicamente:
Siga as etapas descritas inicialmente pela AWS.
source activate python3
Não corte e cole nada. Em vez disso, abra uma nova janela de terminal sem fechar a primeira.
Na nova janela, digite o comando SSH conforme descrito no link acima.
Abra um navegador da web e vá para http://127.0.0.1:8157
fonte