Desde sua introdução, há mais de 15 anos, o NGINX vem ganhando popularidade de forma constante e agora é o servidor web mais popular do mundo , alimentando mais de [ngx_snippet name='number-sites'] sites . Neste caso, achamos inteligente seguir a multidão e usar o NGINX para todas as suas necessidades de serviço web e, além disso, aproveitar seus recursos como proxy reverso , cache de conteúdo , balanceador de carga , gateway de API e muito mais.
Esta postagem do blog orienta você a instalar e executar o NGINX no Ubuntu 20.04 na Amazon Web Services (AWS) em uma configuração fácil de usar que não afeta as configurações do seu computador pessoal. Ele abrange o NGINX e o NGINX Plus , a versão com suporte comercial e recursos adicionais de nível empresarial.
Após concluir as etapas fornecidas aqui, você pode querer continuar com o treinamento NGINX Core ( com instrutor ou sob demanda ), um curso de dia inteiro onde você aprenderá a configurar, administrar e gerenciar o NGINX. O curso também prepara você para nossos outros cursos com instrutor e em ritmo próprio sobre tópicos avançados .
O tutorial inclui instruções para estas tarefas:
Para este tutorial, você precisa de um terminal para se conectar à sua instância do Amazon Elastic Compute Cloud (EC2). Os Macs têm um terminal integrado, mas os usuários do Windows precisam baixar o PuTTY ou uma ferramenta equivalente. Se você preferir usar seu próprio terminal local para configurar o NGINX ou o NGINX Plus e fornecer conteúdo da web, fique à vontade para pular para Configurando a AWS .
Em Macs, você pode usar a ferramenta de terminal
integrada para fazer tudo neste tutorial.
Clique no ícone de lupa na extremidade direita da barra superior da tela.
Digite terminal
na caixa pop-up e pressione Enter. Uma janela de terminal separada é aberta.
O Windows não vem com um terminal integrado, então você precisa baixar um da Internet. Junto com a AWS, recomendamos o PuTTY, um cliente SSH
usado em todo o mundo.
Acesse a página de download do PUTTY .
Baixe e instale o arquivo em um local de sua escolha e depois abra-o. No entanto, você não poderá acessar o terminal real até concluir as etapas em Configurando a AWS .
Neste tutorial, presumimos que você tem uma Amazon Virtual Private Cloud (VPC) e pode simplesmente usar a configuração padrão de VPC criada com a maioria das contas. Nesta seção, você configura sua implantação da AWS criando uma instância do EC2 e conectando-se a ela.
Observação: O procedimento e as capturas de tela a seguir para criar uma instância do EC2 foram verificados no momento da redação deste documento, mas estão sujeitos a alterações pela AWS. Adapte as instruções conforme necessário.
Na página inicial da AWS , entre no Console (de gerenciamento da AWS) ou crie uma nova conta primeiro, se necessário.
Clique em Serviços na barra de título do Console e depois em EC2 na seção Computação .
Clique no botão Iniciar instância na página do Painel do EC2 que é aberta.
Na página Etapa 1 , clique no botão Selecionar na linha Tipo de volume SSD do Ubuntu Server 20.04 LTS (HVM) e mantenha a seleção de arquitetura padrão de 64 bits (x86) .
Na página Etapa 2 , selecione o tipo de instância t2.micro , que no momento em que este artigo foi escrito está marcado como Elegível para nível gratuito e selecionado por padrão. Clique em Avançar: Configurar detalhes da instância botão.
Na página Etapa 3 , certifique-se de que a VPC que você deseja usar esteja selecionada no campo Rede e que o campo Atribuir IP público automaticamente esteja definido como a configuração padrão Usar sub-rede (Ativar) ou como Ativar . Deixe o restante das configurações com os valores padrão.
Clique em 6. Configure o Grupo de Segurança na parte superior da página.
Na página Etapa 6 , execute as seguintes etapas para permitir tráfego HTTP e HTTPS de entrada (por padrão, as instâncias do EC2 aceitam apenas tráfego SSH):
Clique no botão Adicionar regra abaixo da tabela e selecione HTTP no menu suspenso na coluna Tipo . Para os propósitos deste tutorial, estamos permitindo o acesso de qualquer endereço IP (o valor na coluna Origem é Qualquer lugar 0.0.0.0/0, ::/0 ). Para ambientes de produção, recomendamos que você siga o aviso na página que exige o uso de grupos de segurança para controlar o acesso.
Repita a etapa anterior para HTTPS .
Clique no botão Revisar e iniciar na parte inferior da página.
Na página Etapa 7 , clique no botão Iniciar na parte inferior.
Na caixa que aparece, crie um novo par de chaves:
Selecione Criar um novo par de chaves no menu suspenso superior.
Selecione um tipo de par de chaves. Neste tutorial, estamos selecionando RSA .
Digite um nome no campo Nome do par de chaves , como NGINX_key .
Clique no botão Baixar par de chaves .
Conforme mostrado na captura de tela animada abaixo, uma caixa de seleção substitui o botão Baixar par de chaves . Clique nele para indicar que você pode acessar a chave privada.
Clique no botão Iniciar Instâncias .
No seu utilitário gerenciador de arquivos, mova o arquivo .pem baixado (no tutorial, NGINX_key.pem ) para um local seguro. Para o tutorial, estamos colocando-o no diretório /Desktop/NGINX .
Se estiver usando um terminal Windows, siga as instruções da AWS para baixar o utilitário PuTTYgen e converter o arquivo .pem em um arquivo .ppk .
Na página Status de inicialização , clique no botão Exibir instâncias na parte inferior.
Na página Instâncias que é aberta, a nova instância aparece na tabela. Dê um nome a ele:
Clique no ícone de lápis na coluna Nome .
Digite o nome na caixa pop-up Editar nome e clique no botão Salvar .
Clique no botão Conectar na parte superior da tela. Uma janela como a seguinte será exibida. Abra a aba do cliente SSH e siga as instruções para se conectar à instância. Se estiver usando o Windows, substitua .ppk por .pem nos comandos.
Agora que seu ambiente AWS está configurado, é hora de instalar o NGINX Open Source ou o NGINX Plus , que você pode testar gratuitamente por 30 dias. Ambas as opções funcionam no contexto deste tutorial, mas se você quiser explorar mais os recursos avançados do NGINX Plus , solicite uma avaliação gratuita.
A maioria das distribuições Linux e variantes BSD disponibilizam o NGINX Open Source em seus repositórios de pacotes padrão, mas geralmente não é a versão mais recente. Recomendamos baixar o NGINX Open Source diretamente do nginx.org . Existem apenas algumas etapas extras para adicionar o repositório NGINX ao gerenciador de pacotes do Ubuntu ( apt
).
Para instalar o NGINX Open Source, siga estas etapas:
Baixe a chave de assinatura NGINX:
$ sudo wget http://nginx.org/keys/nginx_signing.key
Adicione a chave:
$ sudo apt-key adicionar nginx_signing.key
Altere o diretório para /etc/apt .
$ cd /etc/apt
Edite o arquivo sources.list , acrescentando este texto no final:
deb http://nginx.org/pacotes/ubuntu focal nginx
deb-src http://nginx.org/pacotes/ubuntu focal nginx
Observação: A palavra-chave focal
em cada uma dessas linhas corresponde ao Ubuntu 20.04. Se você estiver usando uma versão diferente do Ubuntu, substitua a primeira palavra do nome do código de lançamento (por exemplo, bionic
para Ubuntu 18.04).
Atualize o software NGINX:
$ sudo apt-get update
Instalar o NGINX:
$ sudo apt-get install nginx
Digite Y
quando solicitado.
Inicie o NGINX:
$ sudo systemctl iniciar nginx.service
Verifique seu status:
$ sudo systemctl status nginx.service
Continue para abrir sua página da Web .
Se você ainda não tem o NGINX Plus, inscreva-se para um teste gratuito de 30 dias .
Quando você receber a notificação por e-mail de que sua assinatura de avaliação está disponível, siga as instruções fornecidas para baixar seu certificado de segurança, chave privada e JWT e, em seguida, instalar o NGINX Plus.
Quando a instalação estiver concluída e o NGINX Plus estiver em execução, continue para Abrindo sua página da Web .
Agora que você iniciou o software NGINX, dê uma olhada na página da web que o NGINX e o NGINX Plus servem por padrão antes de configurá-los para entregar o conteúdo do seu site. Siga estes passos:
Navegue até a aba Instâncias no Painel do EC2 se você ainda não estiver lá. (Uma maneira é clicar em Serviços na barra de navegação superior do Console, EC2 na seção Computação e Instâncias na coluna de navegação à esquerda.)
Role para a direita na tabela até ver o endereço IP público da instância na coluna Endereço IPv4 público (na captura de tela, é 3.22.51.xxx). Selecione o endereço e copie-o para o buffer de colagem.
Abra uma nova aba do navegador e cole o endereço na barra de endereços. A página padrão Bem-vindo ao nginx! é exibida, indicando que o NGINX está instalado e em execução, mas ainda não configurado.
Com uma versão funcional do NGINX ou NGINX Plus instalada, é hora de colocá-la em bom uso! Comece configurando alguns arquivos e diretórios.
Mude o diretório para o seu diretório inicial, caso ainda não esteja lá. Nas instruções a seguir, é /home/ubuntu .
Crie um diretório chamado public_html e entre nele.
No diretório public_html , crie um arquivo chamado index.html e um diretório chamado application1 .
No diretório application1 , crie um arquivo chamado app1.html com algum texto nele.
Retorne ao seu diretório inicial.
Crie um diretório chamado data .
No diretório de dados , crie um diretório chamado images .
Nosso primeiro caso de uso para NGINX ou NGINX Plus é fornecer páginas e imagens aos usuários por meio de uma página da web.
Altere o diretório para /etc/nginx/conf.d .
Renomeie default.conf para default.conf.bak para evitar que o NGINX ou o NGINX Plus o utilizem como arquivo de configuração padrão.
Crie um arquivo chamado server1.conf com esta configuração:
servidor { raiz /home/ubuntu/public_html;
localização /application1 { }
localização /images {
raiz /home/ubuntu/data;
}
}
Documentação da diretiva: localização
, raiz
, servidor
Altere o diretório para ~/data/images .
Encontre uma imagem que você deseja servir e copie-a para o diretório ( ~/data/images ). Como exemplo, o comando a seguir copia o logotipo do NGINX :
$ curl -o NGINX-logo.png https://www.nginx.com/wp-content/uploads/2021/11/NGINX-logo-2020.png
Recarregue o NGINX ou NGINX Plus:
$ sudo nginx -s recarregar
Em um navegador da Web, solicite a imagem neste URL, onde NGINX-server é o endereço IP público da sua instância EC2:
https:// NGINX-server /images/NGINX-logo.png
Acesse também o aplicativo e observe o que você ganha:
https:// NGINX-server /application1/app1.html
Agora que você tem um servidor web funcionando, é hora de aprender como configurá-lo para rotear o tráfego. Esse recurso permite que você passe tráfego para outros servidores e é um passo importante para configurar o balanceamento de carga. Siga estes passos:
No diretório ~/data , crie um diretório chamado server2 .
No diretório server2 , crie um diretório chamado sampleApp .
No diretório sampleApp , crie um arquivo chamado index.html com algum texto nele.
Altere o diretório para /etc/nginx/conf.d .
Crie um arquivo chamado server2.conf com esta configuração:
servidor { ouvir 8080;
raiz /home/ubuntu/data/server2;
}
Modifique server1.conf adicionando uma diretiva proxy_pass
no primeiro bloco de localização
, como segue:
servidor { raiz /home/ubuntu/public_html;
localização /application1 {
proxy_pass http://localhost:8080/sampleApp;
}
localização /images {
raiz /home/ubuntu/data;
}
}
Documentação da diretiva: location
, proxy_pass
, root
, server
Recarregue o NGINX ou NGINX Plus:
$ sudo nginx -s recarregar
Acesse a seguinte URL no seu navegador e observe o que mudou em comparação a quando você acessou em Servindo Páginas e Imagens :
https:// NGINX-server /application1/index.html
Então é isso! Agora você tem uma instância funcional do Ubuntu executando o NGINX, que está pronto para ser executado como um servidor proxy.
Para obter instruções sobre como implantar o NGINX e o NGINX Plus na AWS para casos de uso adicionais, consulte nossos guias de implantação .
Neste tutorial, você aprendeu como configurar o NGINX ou o NGINX Plus para servir arquivos e imagens pela Internet e atuar como um proxy reverso. Se você quiser aprender mais sobre o NGINX, oferecemos o curso de treinamento NGINX Core ( ministrado por instrutor ou sob demanda ), que abrange os tópicos deste tutorial, bem como outros fundamentos do serviço web e entrega de aplicativos, incluindo balanceamento de carga, roteamento baseado em localização e segurança. Confira também a documentação em nginx.org e o Guia de administração do NGINX Plus – exceto quando indicado, os artigos se aplicam ao NGINX Open Source e também ao NGINX Plus.
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."