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.
Antes de iniciar este guia, você deve ter o seguinte:
Quando tiver uma conta disponível, logue com seu usuário não raiz para começar.
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
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
OutputAvailable 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
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
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:
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:
<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:
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:
...
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:
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!