---
# System prepended metadata

title: Relatório de Deploy do Game 2048

---

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