Pesquisa de site

Instale o Nginx com blocos de servidor (hosts virtuais) no Debian 10


Nginx é um servidor web de alto desempenho muito popular que combina o poder de proxy reverso, balanceamento de carga, cache e muito mais. Dependendo de como estiver configurado, ele pode atuar como proxy reverso e também como balanceador de carga para servidores HTTP/HTTPS.

O servidor web Nginx tem uma capacidade fenomenal de atender milhares de conexões simultâneas e isso o torna o servidor web mais rápido, alimentando mais de metade dos sites mais movimentados do mundo. Isso inclui Netflix, DuckDuckGo e DropBox, para mencionar apenas alguns.

Leia também: Como instalar o Apache com hosts virtuais no Debian 10

Neste tutorial, orientaremos você nas etapas de instalação do Nginx com hosts virtuais para hospedar vários domínios em um servidor Debian 10.

Pré-requisitos

Antes de começarmos, certifique-se de que os seguintes requisitos sejam atendidos:

  1. Uma instância do Debian 10.
  2. Um Nome de domínio totalmente qualificado (FQDN) apontando para o servidor.
  3. Neste guia, usamos o domínio linux-console.net apontando para um sistema Debian 10 com endereço IP 192.168.0.104.
  4. Uma boa conexão com a internet.

Etapa 1: atualize o repositório de pacotes Debian 10

Antes de mais nada, precisamos atualizar nosso repositório de pacotes local para as versões mais recentes. Para fazer isso, faça login como usuário normal com privilégios sudo e execute o comando abaixo.

sudo apt update -y

Etapa 2: Instale o Nginx no Debian 10

Como o Nginx está presente nos repositórios do Debian, podemos confortavelmente prosseguir e instalá-lo usando o gerenciador de pacotes apt que vem com o Debian.

sudo apt install nginx -y

Etapa 3: verificar o status do servidor Web Nginx

Se você não encontrou erros, o servidor web Nginx foi instalado com sucesso. É prudente verificar o status do servidor web antes de fazer outras configurações.

Para verificar o status do Nginx, execute:

systemctl status nginx

Se o servidor web estiver instalado e funcionando, você receberá a notificação abaixo.

Se você quiser reiniciar o servidor da Web Nginx, execute o comando.

systemctl restart nginx

Para parar o Nginx, emita o comando.

systemctl stop nginx

Para iniciar o servidor web, execute.

systemctl start nginx

Para configurar o servidor da Web Nginx para iniciar na inicialização.

systemctl enable nginx

Leia também: 10 comandos Nginx mais usados que todo usuário Linux deve conhecer

Etapa 4: configurar o firewall para abrir a porta Nginx

Com o Nginx instalado e funcionando com sucesso, precisamos permitir o acesso web ao serviço, especialmente para usuários externos. Se você tiver o firewall UFW ativado, será necessário permitir o acesso HTTP através do firewall.

Para conseguir isso, execute o comando.

sudo ufw allow 'Nginx HTTP'

Em seguida, recarregue o firewall para efetuar as alterações.

sudo ufw reload

Ótimo, agora você pode verificar se o HTTP é permitido através do firewall executando.

sudo ufw status

No trecho acima, podemos ver claramente que o Nginx HTTP foi permitido através do firewall UFW.

Etapa 5: acessando o servidor Web Nginx

Até agora fizemos as configurações básicas para colocar o Nginx em funcionamento. Para acessar o servidor web através do navegador web, procure o endereço IP do servidor conforme mostrado.

http://server-IP-address

Esta é uma confirmação de que o Nginx está instalado e funcionando.

Etapa 6: Configurando blocos de servidor Nginx no Debian 10

Esta é uma etapa opcional e útil quando você deseja hospedar vários domínios em um servidor da Web Nginx. Para que isso funcione, você precisa ter um nome de domínio apontado para o seu servidor Debian.

Para esta seção, usaremos o nome de domínio linux-console.net cujo registro A está apontado para o IP do servidor 192.168.0.104.

Quando você aponta o nome de domínio para o endereço IP do seu servidor, o nome do domínio mudará em breve e apontará para o seu servidor web, conforme mostrado.

Vamos agora criar um bloco de servidor.

Primeiramente, vamos criar um diretório para nosso domínio conforme mostrado.

sudo mkdir -p /var/www/html/linux-console.net

Em seguida, atribua a propriedade do arquivo necessária conforme mostrado.

sudo chown -R $USER:$USER /var/www/html/linux-console.net

Em seguida, atribua permissões de leitura e execução ao grupo e aos usuários públicos, conforme mostrado.

sudo chmod -R 755 /var/www/html/linux-console.net

Vamos agora criar uma página da web de exemplo index.html simples usando o editor de texto vim.

sudo vim /var/www/html/linux-console.net/index.html

Adicione algum conteúdo de amostra ao arquivo. Isso será exibido no navegador.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

Salve e saia do editor

Para que esse conteúdo seja veiculado, um bloco de servidor precisa ser criado.

Vamos criar um bloco de servidor

vim  /etc/nginx/sites-available/linux-console.net

Copie e cole o seguinte conteúdo no arquivo de bloco do servidor.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

        location / {
                try_files $uri $uri/ =404;
        }
}

Certifique-se de atualizar o nome de domínio linux-console.net com seu próprio nome de domínio.

Para ativar ou habilitar o arquivo de bloco do servidor, crie um link simbólico conforme mostrado.

sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

Para verificar se todas as configurações no Nginx estão configuradas corretamente, execute.

sudo nginx -t

Ótimo, estamos prontos para ir! Finalmente reinicie o Nginx.

sudo systemctl restart nginx

Vá para o seu navegador e atualize e, se tudo correr bem, o navegador deverá estar servindo a página da web de bloqueio do servidor, conforme mostrado.

Etapa 7: acessando os arquivos de log do Nginx

Para acessar arquivos de registro sobre solicitações feitas ao seu servidor, acesse o arquivo abaixo.

sudo vim /var/log/nginx/access.log 

Caso você encontre erros no seu servidor da Web Nginx, examine o arquivo em busca de erros.

sudo vim /var/log/nginx/error.log
Conclusão

Neste guia, você aprendeu como instalar o Nginx em sua instância do Debian 10 e configurá-lo ainda mais para suportar domínios adicionais. Esperamos que você tenha achado este guia esclarecedor. Seu feedback será apreciado.