Tutorial

Como instalar o Nginx no Ubuntu 18.04 [Início rápido]

NginxUbuntuQuickstartUbuntu 18.04

Introdução

O Nginx é um dos servidores Web mais populares no mundo e é responsável por hospedar alguns dos sites de maior tráfego na Internet. Ele é mais amigável do que o Apache em termos de recursos na maioria dos casos e pode ser usado como um servidor Web ou como proxy reverso.

Neste guia, explicamos como instalar o Nginx no seu servidor Ubuntu 18.04. Para uma versão mais detalhada deste tutorial, consulte Como Instalar o Nginx no Ubuntu 18.04.

Pré-requisitos

Antes de iniciar este guia, você deve ter o seguinte:

  • Um servidor Ubuntu 18.04 e um usuário regular não-root com privilégios sudo. Além disso, você precisará habilitar um firewall básico para bloquear portas não essenciais. Você pode aprender como configurar uma conta de usuário comum e configurar um firewall seguindo nosso guia de configuração inicial de servidor para o Ubuntu 18.04.

Quando tiver uma conta disponível, logue com seu usuário não raiz para começar.

Passo 1 - Como instalar o Nginx

Uma vez que o Nginx está disponível nos repositórios padrão do Ubuntu, instale ele utilizando o sistema de empacotamento apt.

Atualize seu índice de pacotes local:

  • sudo apt update

Instale o Nginx:

  • sudo apt install nginx

Passo 2 — Como ajustar o Firewall

Se seguiu o tutorial pré-requisito de configuração do servidor, então você tem o firewall UFW ativado. Verifique os perfis de aplicativo ufw disponíveis com o seguinte comando:

  • sudo ufw app list
Output
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

Vamos habilitar o perfil mais restritivo que ainda permitirá o tráfego que você configurou, permitindo o tráfego na porta 80:

  • sudo ufw allow 'Nginx HTTP'

Verifique a mudança:

  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

Passo 3 — Como verificar seu Servidor Web

Verifique com o sistema init systemd para garantir que o serviço esteja funcionando digitando:

  • systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

Acesse a página inicial padrão do Nginx para confirmar que o software está funcionando corretamente através do seu endereço IP:

http://your_server_ip

Você deve ver a página inicial padrão do Nginx:

Nginx default page

Passo 4 — Como configurar os blocos de servidor (recomendado)

Ao usar o servidor Web Apache, é possível usar os server blocks (similares aos hosts virtuais no Apache) para encapsular detalhes de configuração e hospedar mais de um domínio de um único servidor. Vamos configurar um domínio chamado example.com, mas você deve substituí-lo por seu próprio nome de domínio. Para aprender mais sobre configuração de um nome de domínio com o DigitalOcean, veja nossa introdução ao DNS DigitalOcean.

Crie o diretório para example.com, usando a flag -p para criar quaisquer diretórios parentais necessários:

  • sudo mkdir -p /var/www/example.com/html

Atribua a posse do diretório:

  • sudo chown -R $USER:$USER /var/www/example.com/html

As permissões das suas raízes Web devem estar corretas se ainda não tiver modificado seu valor umask, mas você pode certificar-se digitando:

  • sudo chmod -R 755 /var/www/example.com

Crie uma página de amostra index.html utilizando o nano ou seu editor favorito:

  • nano /var/www/example.com/html/index.html

Dentro, adicione a seguinte amostra HTML:

/var/www/example.com/html/index.html
<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success!  The example.com server block is working!</h1>
    </body>
</html>

Salve e feche o arquivo quando terminar.

Faça um novo bloco de servidor em /etc/nginx/sites-available/example.com:

  • sudo nano /etc/nginx/sites-available/example.com

Cole no seguinte bloco de configuração, atualizado para nosso novo diretório e nome de domínio:

/etc/nginx/sites-available/example.com
server {
        listen 80;
        listen [::]:80;

        root /var/www/example.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com;

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

Salve e feche o arquivo quando terminar.

Habilite o arquivo criando um link dele para o diretório sites-enabled:

  • sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Agora, dois blocos de servidor estão habilitados e configurados para responder a pedidos baseados nas diretrizes listen e server_name:

  • example.com: Responderá aos pedidos para example.com e www.example.com.
  • default: Responderá a quaisquer pedidos na porta 80 que não correspondam aos outros dois blocos.

Para evitar um possível problema de memória de hash que possa surgir ao adicionar nomes adicionais de servidor, é necessário ajustar um valor único no arquivo /etc/nginx/nginx.conf. Abra o arquivo:

  • sudo nano /etc/nginx/nginx.conf

Encontre a diretriz server_names_hash_bucket_size e remova o símbolo # para remover a marca de comentário da linha:

/etc/nginx/nginx.conf
...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Teste para conferir se há erros de sintaxe:

  • sudo nginx -t

Reinicie o Nginx para habilitar suas alterações:

  • sudo systemctl restart nginx

O Nginx agora deve estar atendendo seu nome de domínio. É possível testar isso ao navegar para http://example.com, onde você deve ver algo parecido com isso:

Nginx first server block

Conclusão

Agora que tem seu servidor Web instalado, você tem muitas opções para o tipo de conteúdo a oferecer e as tecnologias que quiser usar para criar uma experiência mais rica.

Se quiser construir uma pilha de aplicativo mais completa, verifique este artigo sobre como configurar uma pilha LEMP no Ubuntu 18.04.

Creative Commons License