# 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á_!

## 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.