Essa é uma revisão anterior do documento!


Sistemas operacionais testados: CentOS 7, Ubuntu 16.04 e 18.04

Requisitos de hardware: Placa de rede gigabit. É recomendado que nenhum outro serviço que utilize a rede esteja rodando na máquina.

  1. Atualizar lista de repositórios através do comando:
    (Ubuntu) sudo apt-get update
    (CentOS) sudo yum check-update
  2. Instalar o Nginx (versão 1.10.3 ou superior)
    1. (Somente para CentOS) Insira o comando:
      sudo yum install epel-release
    2. Insira o seguinte comando:
      (Ubuntu) sudo apt-get install nginx
      (CentOS) sudo yum install nginx
  3. Configure o Nginx para receber requisições HTTP através do seguinte trecho de código de exemplo:
    user nginx;
    worker_processes auto;
    pid /run/nginx.pid;
    
    events {
      worker_connections 1024;
    }
    
    http {
      sendfile on;
      tcp_nopush on;
      tcp_nodelay on;
      keepalive_timeout 65;
      types_hash_max_size 2048;
      server_names_hash_bucket_size 64;
    
      include /etc/nginx/mime.types;
      default_type application/octet-stream;
    
      access_log /var/log/nginx/access.log;
      error_log /var/log/nginx/error.log;
    
      limit_req_zone $request_uri zone=measure:1m rate=3r/m;
    
      include /etc/nginx/conf.d/*.conf;
      include /etc/nginx/sites-enabled/*;
    }
    1. O trecho de código acima pode ser configurado a partir do comando
      nano /etc/nginx/nginx.conf
    2. Se você já possui um serviço configurado no nginx, edite o seu arquivo atual para incluir as configurações acima.
      1. Lembramos que por motivos de performance de rede, não recomendamos que outros serviços estejam configurados na mesma máquina.
  4. Configure os arquivos do Nginx para incluir a configuração do servidor de medição com os comandos:
    sudo mkdir /etc/nginx/sites-available
    sudo mkdir /etc/nginx/sites-enabled
    sudo touch /etc/nginx/sites-available/measure
    sudo ln -s /etc/nginx/sites-available/measure /etc/nginx/sites-enabled/measure
  5. Configure o Nginx para receber e autorizar a comunicação HTTP com o servidor de medição através do seguinte trecho de código de exemplo:
    server {
      listen 80;
      autoindex on;
      location /measure {
        alias /etc/nginx/flash-measure-data/;
        sendfile_max_chunk 1m;
        limit_req zone=measure burst=2 nodelay;
      }
      location / {
        return 403;
      }
    }
    1. O trecho de código acima pode ser configurado a partir do comando
      nano /etc/nginx/sites-available/measure
    2. Você pode substituir o valor da variável “listen” por outra porta que não seja a 80.
      1. Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
      2. Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:
        listen 25752;
  6. Gere os arquivos de medição que serão utilizados através dos comandos:
    sudo mkdir /etc/nginx/flash-measure-data
    for i in $(seq 1 3); do sudo dd if=/dev/urandom of=/etc/nginx/flash-measure-data/file$i.bin bs=1M count=50; done
  7. (Somente para CentOS) Habilite o serviço Nginx através do comando:
    sudo systemctl enable nginx
  8. Carregue o serviço Nginx através do comando:
    (Ubuntu) sudo service nginx start
    (CentOS) sudo systemctl start nginx
  9. Teste se o servidor está funcionando acessando em qualquer navegador:
    http://<<ip do servidor>>/measure
    1. Se você alterou a porta do serviço no passo 5, não se esqueça de incluir a porta na URL:
      http://<<ip do servidor>>:<<porta configurada>>/measure
    2. Você deverá ver uma listagem de arquivos contendo 3 arquivos de 50MB cada: file1.bin, file2.bin, file3.bin
  1. Faça login no Flashman com o usuário admin para configurar o serviço de medição
  2. Vá em configurações, digite o IP e a porta do servidor configurado acima e salve
  3. Escolha um roteador que esteja com o Flashbox atualizado (versão 0.24.0 ou superior) e clique em Opções, e então em Medição de Velocidade
  4. Aperte o botão para começar a medição e aguarde o resultado
    1. Em caso de erro recorrente, certifique-se de que o roteador consegue acessar o servidor de medição
    2. Se você configurou uma porta diferente da 80 no passo 5 anteriormente, verifique se a regra apropriada está no seu firewall