/viacep_vagrant

Utilizando o Vagrant para subir uma aplicação do ViaCep com Ngnix

Primary LanguageHTML

viacep_vagrant

Utilizando o Vagrant para subir uma aplicação do ViaCep com Ngnix

Primeiramente vamos instalar o Vagrant na sua máquina e dependendo da sua distribuição a forma é diferente. Segue o link da documentação oficial: https://www.vagrantup.com/downloads

Próximo passo, após o Vagrant instalado, abra o terminal da sua distro (no caso eu utilizo o Fedora) e digite o comando "vagrant init ubuntu/focal64"

image

Vai aparecer essa tela:

image

Vai criar o arquivo Vagrantfile, é com ele que vamos trabalhar como Infraestrutura como Código - IaaC, eu abri meu arquivo com o VsCode

image

Vou deixar o nosso código já pronto e explicar passo a passo. Por isso, vamos limpar esse arquivo:

"Vagrant.configure("2") do |config|

config.vm.box = "ubuntu/focal64"

config.vm.provision "shell", inline: <<-SHELL apt-get update apt-get install -y apache2 SHELL end

image

Como podemos observar, o Vagrantfile vem como padrão o apache2 para usar de BD, mas vamos trocar pelo Nginx. Com isso você deleta o apache2 e insere Nginx

image

Explicando o código: Vagrant.configure("2") do |config| --> O arquivo de configuração inicial do Vagrantfile necessário para rodar o script config.vm.box = "ubuntu/focal64" --> Esse comando informa qual imagem vamos utilizar, vamos utilizar o Ubuntu na sua ultima versão a focal de 64bits config.vm.provision "shell", inline: <<-SHELL --> Aqui é um dos pontos mais importantes, vamos começar o provisionamento da nossa maquina. Os comando que vão ser executados depois que subir a maquina virtual, e os comandos vão ser em shell script

apt update --> Update do sistema apt install -y ngnix --> instalação do serviço do nginx SHELL

Perceberam que tem dois SHELL, um indica a aberta e o outro o fechamento do provision.

end --> indica o fim do arquivo.

  • REMOVE O -GET, deixa só apt install -y nginx

Muito cuidado na hora de digitar os comandos, pois o arquivo é case sensitive.

Depois de salvar o arquivo, vamos executar com o comando vagrant up

image

Quando finalizar, vocês teram algo parecido com isso aqui

image

Para saber se está tudo ok, damos o comando vagrant status

image

O resultado tem que ser igual ao da imagem. Pronto, subimos nossa máquina. Agora ver se o serviço está funcionando normal, vamos dar o comando vagrant ssh, assim acessaremos a máquina via SSH.

image

Vai aparecer algo como essa tela. Agora damos o comando systemctl status nginx

image

A tela será igual a esta. Se sua tela for igual a esta, tudo até agora deu certo, até agora kkk Pode dar um exit, para sair da maquina ubuntu que estavamos em acesso via ssh. Agora vamos apimentar um pouco as coisas com novos comandos Primeiramente vamos no site https://viacep.com.br/exemplo/javascript/

image

Copiamos todo o codigo html da pagina Voltamos nosso editor de texto, e dentro da pasta que estamos com o Vagrantfile, criamos mais uma pasta com o nome html, e dentro dela uma arquivo html com o nome de index.html e colocamos o codigo, não vou entrar em detalhes nessa parte, pois vamos apenas aproveitar a API.

image

Salvamos o arquivo e voltamos para o nosso Vagrantfile. Agora vamos por mais paramentros do proprio Vagrant Vou por o codigo e explicar cada um novamente

image

adicionaremos os seguintes codigos: config.vm.network "forwarded_port", guest: 80, host: 8080 --> Estamos fazendo um direcionamento de porta, a porta 8080 do host(nossa maquina fisica) vai passar a ser a porta 80 da nossa maquina virtual(guest)

config.vm.network "public_network", ip: "192.168.1.13" --> public_network estamos indicando o modo bridge do nosso adaptador de rede, e ip estamos setando um ip fixo para nossa maquina, muito util quando vamos subir muitas maquinas, para não ficar dando ssh em todas para descobrir o ip de cada uma, uma boa pratica pensando em DevOps

config.vm.synced_folder "./html", "/var/www/html" --> Estamos sincronizando as pastas, no caso estamos jogando a pasta html e seu conteudo(index.html) para dentro da nossa maquina virtual dentro do html para subir a aplicação da via cep

Terminado tudo, vamos salvar e dar o seguinte comando vagrant reload, este comando vai recarregar o arquivo do Vagrantfile

Caso pare nessa parte, digite 1, isso ocorre quando tem mais de uma placa de rede no computador do host

image

Observamos o forwarding ports em ação

image

Aqui o synced folders

image

No final vamos no nosso navegador e digitamos o ip do guest no nosso caso é 192.168.1.13

image

ao colocar um cep valido ele carrega com as informações assim mostrando que tudo está ok

image

Agradeço você e acompanhou esse pequeno tutorial. Bons estudos