One place for hosting & domains

      Conectar

      Como se Conectar a um Banco de Dados Redis


      Introdução

      O Redis é um datastore ou armazenamento de dados open-source de chave-valor na memória. Se você instalou o Redis localmente ou está trabalhando com uma instância remota, é necessário conectar-se a ele para executar a maioria das operações. Neste tutorial, veremos como se conectar ao Redis a partir da linha de comando, como autenticar e testar sua conexão, bem como fechar uma conexão do Redis.

      Como Utilizar Este Guia

      Este guia está no formato de referência rápida com trechos de linha de comando independentes. Recomendamos que você pule para qualquer seção que seja relevante para a tarefa que você está tentando concluir.

      Os comandos mostrados neste guia foram testados em um servidor Ubuntu 18.04 executando a versão 4.0.9 do Redis. Para configurar um ambiente semelhante, você pode seguir o Passo 1 do nosso guia Como Instalar e Proteger o Redis no Ubuntu 18.04. Vamos demonstrar como esses comandos se comportam executando-os com redis-cli, a interface de linha de comando do Redis. Observe que se você estiver usando uma interface Redis diferente — Redli, por exemplo — a saída exata de certos comandos pode ser diferente.

      Como alternativa, você pode provisionar uma instância de banco de dados Redis gerenciada para testar esses comandos, mas observe que, dependendo do nível de controle permitido pelo seu provedor de banco de dados, alguns comandos neste guia podem não funcionar como descrito. Para provisionar um banco de dados gerenciado na DigitalOcean, siga nossa documentação de produto para Managed Databases. Então, você deve instalar ou o Redli ou configurar um túnel TLS para conectar-se ao banco de dados gerenciado por TLS.

      Conectando ao Redis

      Se você tiver o redis-server instalado localmente, você pode conectar-se à instância Redis com o comando redis-cli:

      Isso o levará ao modo interativo do redis-cli, que lhe apresenta um read-eval-print loop (REPL) onde você pode executar os comandos internos do Redis e receber respostas.

      No modo interativo, seu prompt de linha de comando será alterado para refletir sua conexão. Neste exemplo e em outros neste guia, o prompt indica uma conexão com uma instância do Redis hospedada localmente (127.0.0.1) e acessada pela porta padrão do Redis (6379):

      A alternativa para executar comandos Redis no modo interativo é executá-los como argumentos para o comando redis-cli, da seguinte forma:

      Se você deseja se conectar a um datastore remoto do Redis, poderá especificar seu host e número de porta com as flags -h e -p, respectivamente. Além disso, se você configurou seu banco de dados Redis para exigir uma senha, você pode incluir a flag -a seguido da sua senha para se autenticar:

      • redis-cli -h host -p port_number -a password

      Se você definiu uma senha no Redis, os clientes poderão se conectar ao Redis, mesmo que não incluam a flag -a no comandoredis-cli. No entanto, eles não poderão adicionar, alterar ou consultar dados até que sejam autenticados. Para autenticar após a conexão, use o comando auth seguido da senha:

      Se a senha passada para auth for válida, o comando retornará OK. Caso contrário, ele retornará um erro.

      Se você estiver trabalhando com um banco de dados Redis gerenciado, seu provedor de nuvem poderá lhe fornecer um URI que comece com redis:// ou rediss://, que você pode usar para acessar seu datastore. Se a string de conexão começar com redis://, você poderá incluí-la como um argumento para o redis-cli para conectar.

      No entanto, se você tiver uma string de conexão que comece com rediss://, isso significa que seu banco de dados gerenciado requer conexões através de TLS/SSL. O redis-cli não suporta conexões TLS, portanto você precisará usar uma ferramenta diferente que suporte o protocolo rediss para conectar-se ao URI. Para os bancos de dados gerenciados da DigitalOcean, que exigem que as conexões sejam feitas por TLS, recomendamos o uso do Redli para acessar a instância do Redis.

      Use a seguinte sintaxe para conectar-se a um banco de dados com Redli. Observe que este exemplo inclui a opção --tls, que especifica que a conexão deve ser feita através de TLS, e a flag -u, que declara que o seguinte argumento será um URI de conexão:

      • redli --tls -u rediss://connection_URI

      Se você tentou se conectar a uma instância indisponível, o redis-cli entrará no modo desconectado. O prompt refletirá isso:

      O Redis tentará restabelecer a conexão toda vez que você executar um comando quando estiver em modo desconectado.

      Testando Conexões

      O comando ping é útil para testar se a conexão com um banco de dados está ativa. Observe que este é um comando específico do Redis e é diferente do utilitário de rede ping. No entanto, os dois compartilham uma função semelhante, pois ambos são usados para verificar uma conexão entre duas máquinas.

      Se a conexão estiver ativa e nenhum argumento for incluído, o comando ping retornará PONG:

      Output

      PONG

      Se você fornecer um argumento para o comando ping, ele retornará esse argumento em vez de PONG se a conexão for bem-sucedida:

      Output

      "hello Redis!"

      Se você executar ping ou qualquer outro comando no modo desconectado, verá uma saída como esta:

      Output

      Could not connect to Redis at host:port: Connection refused

      Note que o ping também é usado internamente pelo Redis para medir a latência.

      Desconectando do Redis

      Para desconectar-se de uma instância Redis, use o comando quit:

      Executar exit também sairá da conexão:

      Ambos quit e exit fecharão a conexão, mas apenas assim que todas as respostas pendentes forem gravadas nos clientes.

      Conclusão

      Este guia detalha vários comandos usados para estabelecer, testar e fechar conexões com um servidor Redis. Se houver outros comandos, argumentos ou procedimentos relacionados que você queira ver neste guia, peça ou faça sugestões nos comentários abaixo.

      Para obter mais informações sobre comandos Redis, consulte nossa série de tutoriais Como Gerenciar um Banco de Dados Redis.



      Source link

      Como Instalar, Executar, e Conectar no Jupyter Notebook em um Servidor Remoto


      O autor selecionou a Fundação do Software Apache para receber uma doação de $100 como parte do programa Write for DOnations.

      Introdução

      O Jupyter Notebook é um aplicativo interativo Web de código aberto que permite que você escreva e execute códigos de computador em mais de 40 linguagens de programação, incluindo Python, R, Julia, e Scala. Um produto do Projeto Jupyter, Jupyter Notebook é útil para a programação iterativa, uma vez que ele permite que você escreva um pequeno fragmento de código, execute-o, e retorne o resultado.

      O Jupyter Notebook dá a capacidade de criar documentos de anotação, referidos simplesmente como “notebooks”. Notebooks criados a partir do Jupyter Notebook são documentos de pesquisa compartilháveis, reproduzíveis que incluem elementos de rich text, equações, código e seus resultados (figuras, tabelas, gráficos interativos). Os notebooks também podem ser exportados para arquivos de código bruto, documentos HTML ou PDF, ou usados para criar slides interativos ou páginas Web.

      Este artigo irá guiar você em como instalar e configurar o aplicativo Jupyter Notebook em um servidor Web do Ubuntu 18.04 e como se conectar a ele do seu computador local. Além disso, também vamos ver como usar o Jupyter Notebook para executar um exemplo de código Python.

      Pré-requisitos

      Para completar este tutorial, você precisará de:

      Além disso, se seu computador local estiver usando o Windows, você precisará instalar o PuTTY nele para estabelecer um túnel SSH para seu servidor. Siga nosso guia em Como Criar Chaves SSH com o PuTTY no Windows para baixar e instalar o PuTTY.

      Passo 1 — Instalando o Jupyter Notebook

      Uma vez que os notebook são usados para escrever, executar e ver o resultado de pequenos fragmentos de código, você primeiro precisará configurar o suporte de linguagem de programação. O Jupyter Notebook usa um kernel específico de linguagem, um programa de computador que executa e examina códigos. O Jupyter Notebook tem muitos kernels em diferentes linguagens, sendo padrão o IPython. Neste tutorial, você irá configurar o Jupyter Notebook para executar códigos Python através do kernel do IPython.

      Supondo que você tenha seguido os tutoriais ligados na seção Pré-requisitos, você deve ter o Python 3, pip e um ambiente virtual instalados. Os exemplos neste guia seguem a convenção usada no tutorial pré-requisito na instalação do Python 3, que designa o ambiente virtual “my_env”, mas você deve sentir-se à vontade para renomear isso.

      Inicie ativando o ambiente virtual:

      • source my_env/bin/activate

      Em seguida, seu prompt será prefixado com o nome do seu ambiente.

      Agora que você está no seu ambiente virtual, vá em frente e instale o Jupyter Notebook:

      • python3 -m pip install jupyter

      Se a instalação tiver sido bem sucedida, você verá um resultado similar ao seguinte:

      Output

      . . . Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2

      Com isso, o Jupyter Notebook foi instalado no seu servidor. Em seguida, vamos ver como executar o aplicativo.

      Passo 2 — Executando o Jupyter Notebook

      O Jupyter Notebook deve ser executado do seu VPS para que você possa se conectar a ele da sua máquina local utilizando um Túnel SSH e seu navegador Web favorito.

      Para executar o servidor do Jupyter Notebook, digite o seguinte comando:

      Após executar este comando, você verá um resultado similar ao seguinte:

      Output

      [I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret [I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/sammy/environments [I 19:46:22.365 NotebookApp] 0 active kernels [I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at: [I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser. [C 19:46:22.367 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

      Você pode notar no resultado que há um aviso No web browser found. Isso é esperado, uma vez que o aplicativo está funcionando em um servidor e você provavelmente ainda não instalou um navegador Web nele. Este guia irá examinar como se conectar ao Notebook no servidor utilizando o tunelamento SSH na seção seguinte.

      Por enquanto, saia do Jupyter Notebook pressionando CTRL+C seguido por y, e então pressione ENTER para confirmar:

      Output

      Shutdown this notebook server (y/[n])? y [C 20:05:47.654 NotebookApp] Shutdown confirmed [I 20:05:47.654 NotebookApp] Shutting down 0 kernels

      Então, saia do servidor utilizando o comando exit:

      Você acabou de executar o Jupyter Notebook no seu servidor. Entretanto, para acessar o aplicativo e começar a trabalhar com notebooks, você precisará se conectar ao aplicativo utilizando o tunelamento SSH e um navegador Web no seu computador local.

      O Tunelamento SSH é uma maneira simples e rápida de se conectar ao aplicativo Jupyter Notebook em execução no seu servidor. Secure shell (mais frequentemente conhecido como SSH) é um protocolo de rede que permite que você se conecte a um servidor remoto com segurança em uma rede não segura.

      O protocolo SSH inclui um mecanismo de encaminhamento de porta que permite que você encaminhe certos aplicativos em execução em um número de porta específico em um servidor para um número de porta específico no seu computador local. Iremos aprender como “encaminhar” com segurança o aplicativo Jupyter Notebook em execução no seu servidor (na porta 8888, por padrão) para uma porta no seu computador local.

      O método que você usa para estabelecer um túnel SSH irá depender do sistema operacional do seu computador local. Pule para a subsecção abaixo que é a mais relevante para a sua máquina.

      Nota: É possível configurar e instalar o Jupyter Notebook utilizando o Console Web do DigitalOcean, mas se conectar ao aplicativo através de um túnel SSH deve ser feito através do terminal ou com o PuTTY.

      Tunelamento SSH utilizando macOS ou Linux

      Se seu computador local está executando Linux ou macOS, é possível estabelecer um túnel SSH apenas executando um único comando.

      ssh é o comando padrão para abrir uma conexão SSH, mas quando usado com a diretiva -L, você pode especificar que uma dada porta no host local (ou seja, sua máquina local) será encaminhada para um dado host e porta no host remoto (neste caso, seu servidor). Isso significa que o que estiver sendo executado na porta especificada no servidor remoto (8888, porta padrão do Jupyter Notebook) aparecerá na porta especificada no seu computador local (8000 no comando exemplo).

      Para estabelecer seu próprio túnel SSH, execute o seguinte comando. Sinta-se à vontade para alterar a porta 8000 para outra que você queira se, por exemplo, a 8000 estiver em uso por outro processo. É recomendável que você utilize uma porta maior ou igual a 8000, uma vez que é pouco provável que esses números de porta sejam usados por outro processo. Certifique-se de incluir o endereço IP do seu próprio servidor e o nome do usuário não-root do seu servidor:

      • ssh -L 8000:localhost:8888 sammy@your_server_ip

      Se não houver erros neste comando, ele irá logar você no seu servidor remoto. A partir daí, ative o ambiente virtual:

      • source ~/environments/my_env/bin/activate

      Então, execute o aplicativo Jupyter Notebook:

      Para se conectar ao Jupyter Notebook, utilize seu navegador Web favorito para navegar até a porta local no host local: http://localhost:8000. Agora que você está conectado ao Jupyter Notebook, continue para o Passo 4 para aprender a usá-lo.

      Tunelamento SSH utilizando Windows e PuTTY

      O PuTTY é um cliente SSH de código aberto para o Windows que pode ser usado para se conectar ao seu servidor. Após baixar e instalar o PuTTY na sua máquina Windows (tal como descrito no tutorial pré-requisito), abra o programa e digite o URL ou endereço IP do seu servidor, como mostrado aqui:

      Enter server URL or IP into Putty

      Em seguida, clique em + SSH ao final do painel esquerdo, e então clique em Tunnels. Nesta janela, digite a porta que você quiser usar para acessar o Jupyter na sua máquina local (8000 ). É recomendável que você utilize uma porta maior ou igual a 8000, uma vez que é pouco provável que esses números de porta sejam usados por outro processo. Se 8000 é usado por outro processo, no entanto, selecione um número de porta diferente e não utilizado. Em seguida, configure o destino como localhost:8888, uma vez que a porta 8888 é aquela na qual o Jupyter Notebook está funcionando. Então, clique no botão Add e as portas devem aparecer no campo Forwarded ports:

      Configure SSH tunnel in Putty

      Finalmente, clique no botão Open. Isso irá conectar sua máquina ao servidor através do SSH e ligar as portas desejadas. Se nenhum erro aparecer, vá em frente e ative seu ambiente virtual:

      • source ~/environments/my_env/bin/activate

      Então, execute o Jupyter Notebook:

      Em seguida, navegue até a porta local no seu navegador Web favorito, por exemplo http://localhost:8000 (ou qualquer número de porta que você escolheu), para se conectar à instância do Jupyter Notebook que está sendo executada no servidor. Agora que você está conectado ao Jupyter Notebook, continue para o Passo 4 para aprender a usá-lo.

      Passo 4 — Usando o Jupyter Notebook

      Quando acessado através de um navegador Web, o Jupyter Notebook fornece um Painel do Notebook, que atua como um navegador de arquivos e dá a você uma interface para criar, editar e explorar notebooks. Pense nestes notebooks como documentos (salvos com uma extensão de arquivo .ipynb) que você pode preencher com qualquer número de células individuais. Cada célula possui um editor de texto interativo que pode ser usado para executar códigos ou escrever texto renderizado. Além disso, os notebooks permitem que você escreva e execute equações, inclua outras mídias valiosas, como imagens ou gráficos interativos, e eles podem ser exportados e compartilhados em vários formatos (.ipyb, .pdf, .py). Para ilustrar algumas destas funções, vamos criar um arquivo de notebook a partir do Painel do Notebook, escrever um quadro de texto simples com uma equação, e executar um código básico de Python 3.

      Até este ponto, você deve ter se conectado ao servidor utilizando um túnel SSH e iniciado o aplicativo Jupyter Notebook do seu servidor. Após navegar para http://localhost:8000, você será apresentado com uma página de login:

      Jupyter Notebook login screen

      No campo Password or token ao topo, digite o token exibido no resultado após você executar jupyter notebook do seu servidor:

      Output

      [I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret [I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/sammy [I 20:35:17.314 NotebookApp] 0 active kernels [I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at: [I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser. [C 20:35:17.316 NotebookApp] . . .

      De forma alternativa, você pode copiar aquele URL do resultado do seu terminal e colá-lo na barra de endereço do seu navegador.

      Automaticamente, o Jupyter Notebook irá mostrar todos os arquivos e pastas armazenados no diretório do qual ele está sendo executado. Crie um novo arquivo de notebook clicando em New então Python 3 no canto superior direito do Painel Notebook:

      Create a new Python3 notebook

      Dentro deste novo notebook, mude a primeira célula para que aceite a sintaxe markdown clicando em Cell > Cell Type > Markdown na barra de navegação no topo. Além da remarcação, este Cell Type também permite que você escreva equações em LaTeX. Por exemplo, digite o seguinte na célula após alterá-la para markdown:

      # Simple Equation
      
      Let us now implement the following equation in Python:
      $$ y = x^2$$
      
      where $x = 2$
      

      Para transformar o markdown em rich text, pressione CTRL + ENTER e o resultado deve ser o seguinte:

      Turn sample equation into rich text

      Você pode usar as células markdown para fazer anotações e documentar seu código.

      Agora, vamos implementar uma equação simples e imprimir o resultado. Clique em Insert > Insert Cell Below para inserir uma célula. Nesta nova célula, digite o seguinte código:

      x = 2
      y = x*x
      print(y)
      

      Para executar o código, pressione CTRL + ENTER, e o resultado será o seguinte:

      Solve sample equation

      Estes são alguns exemplos relativamente simples do que você pode fazer com o Jupyter Notebook. No entanto, ele é um aplicativo muito poderoso com muitos casos de uso possíveis. A partir daqui, adicione algumas bibliotecas Python e utilize o notebook como você faria com qualquer outro ambiente de desenvolvimento Python.

      Conclusão

      Agora, você deve ser capaz de escrever códigos reprodutíveis Python e texto utilizando o Jupyter Notebook em funcionamento em um servidor remoto. Para fazer um tour rápido pelo Jupyter Notebook, clique em Help na barra de navegação superior e selecione o User Interface Tour como mostrado aqui:

      Finding Jupyter Notebook help tour

      Se você estiver interessado, encorajamos você a aprender mais sobre o Jupyter Notebook através da documentação do Projeto Jupyter. Além disso, você pode construir desenvolver o que você aprendeu neste tutorial aprendendo como programar em Python 3.



      Source link