# Relatório de Deploy do Game 2048 Como o título diz, o game escolhido para realização da atividade foi o game 2048. Neste relatório, será exposto como o deploy foi feito e quais as foram as dificuldades enfrentadas durante a sua realização. ## Como foi feito ### Criando o diretório raiz do game Em primeiro lugar, fiz o download do arquivo .zip do jogo e extraí a pasta ```2048-master```. Conforme explicado na descrição da tarefa, a ferramenta a ser utilizada na atividade seria o **Nginx** (no meu caso, pois uso Ubuntu 20.04 na minha máquina). Como já havia usado a ferramenta antes, eu já tinha ela instalada no meu PC. Portanto, o próximo passo foi mover a pasta do game para ```/var/www/html/```. Em seguida, eu atribuí a propriedade do diretório usando a variável de ambiente **$USER** com o comando ```sudo chown -R $USER:$USER /var/www/html/2048-master``` e então, dei as permissões adequadas à pasta com ```sudo chmod -R 755 /var/www/html/2048-master```. Com o diretório raiz do Nginx configurado e as permissões definidas, segui para a etapa seguinte de criação do bloco de servidor que serve ao ```index.html```do game, uma vez que este (assim, como todo o resto do game) já está criado. ### Criando um bloco de servidor no Nginx No diretório ```/etc/nginx/sites-available``` (que é onde ficam os blocos de servidor default do Nginx), criei (com permissões root) o bloco 2048-master.info como um arquivo de texto contendo o seguinte conteúdo: ```python=1 server { listen 80; listen [::]:80; root /var/www/html/2048-master; index index.html index.htm index.nginx-debian.html; server_name localhost; location / { try_files $uri $uri/ =404; } access_log /var/log/nginx/2048-master.access.log; error_log /var/log/nginx/2048-master.error.log; } ``` ### Habilitando o bloco criado Para habilitar o bloco ```2048-master.info```foi necessário criar um link simbólico com o diretório ```etc/nginx/sites-enabled/``` através do comando ```sudo ln -s /etc/nginx/sites-available/2048-master.info /etc/nginx/sites-enabled/```. Em seguida, confirmei se as configurações estavam corretas com ```sudo nginx -t```, e então reiniciei o Nginx com ```sudo service nginx restart``` para que as alterações tivessem efeito. ### Testando o bloco Para visualizar o nosso servidor local, digitei ```localhost``` na barra de navegação do meu browser (no caso, Chromium) e _voilá_! ![](https://i.imgur.com/Dhd4DO7.png) ## Dificuldades encontradas ### Compreensão da descrição da atividade A primeira dúvida que tive foi com relação a COMO seria feito o deploy do game: se seria feito num servidor local (como de fato foi) ou se o game deveria ser hospedado em um servidor real, em um domínio que pudesse ser acessado publicamente. Para sanar essa dúvida, entrei em contato com o pessoal da banca de Qualita e consegui esclarecer isso. ### Problema técnico com o bloco de servidor Já na reta final do deploy, depois de reiniciar o Nginx após as configurações feitas, não consegui abrir o game logo de cara no meu navegador, devido a um erro que cometi no arquivo do bloco ```2048-master.info```. Quando tentei abrir o servidor, apareceu pra mim o erro DNS_PROBE_FINISHED_NXDOMAIN. Acontece que inicialmente, a linha 8 do meu bloco era ```python=8 server 2048.com dev.2048.com ``` Após conversar com o pessoal da banca, descobri que bastava nomear o server do bloco de ```localhost``` e após isso (e mais uma reinicialização do Nginx), obtive o resultado desejado.