Como construir o NGINX a partir do código-fonte no Ubuntu 24.04/22.04/20.04

Construir o NGINX a partir do código-fonte no Ubuntu oferece uma abordagem personalizada para configurar seu servidor web, garantindo desempenho ideal e compatibilidade com seu ambiente específico. Ao contrário das instalações binárias, compilar o NGINX a partir da fonte oferece flexibilidade para ativar ou desativar módulos específicos, integrar módulos de terceiros e aplicar patches personalizados. Esse processo permite uma compreensão mais profunda do funcionamento interno do servidor e facilita uma configuração mais segura e eficiente, adaptada aos seus requisitos exclusivos.

Principais destaques da construção do Nginx:

  • Configuração personalizada: Personalize o NGINX para atender às suas necessidades, habilitando apenas os módulos necessários.
  • Desempenho aprimorado: Otimize o NGINX para seu hardware e carga de trabalho, melhorando potencialmente os tempos de resposta e o uso de recursos.
  • Características avançadas: Acesse recursos e módulos de última geração que podem não estar disponíveis em pacotes pré-compilados.
  • Segurança: Aplique patches específicos e compile com opções de segurança reforçada para uma implantação mais segura.
  • Oportunidade de aprendizagem: Obtenha conhecimento profundo da arquitetura e das opções de configuração do NGINX.
  • Ao controle: Mantenha controle total sobre a configuração do servidor, incluindo caminhos de diretório e arquivos de configuração.
  • Atualizado: Crie a versão mais recente do NGINX, acessando novos recursos e correções de bugs antes do lançamento dos pacotes.
  • Suporte da comunidade: Aproveite o amplo conhecimento e recursos da comunidade de código aberto para solução de problemas e melhorias.

Com essas vantagens em mente, construir o NGINX a partir de uma fonte é uma abordagem poderosa para quem busca o máximo controle e eficiência de seu servidor web.

Vamos mergulhar nas etapas detalhadas para construir o NGINX a partir do código-fonte no Ubuntu.

Instale pacotes iniciais para fonte NGINX no Ubuntu

Atualize o Ubuntu antes de construir o NGINX

Para iniciar a instalação da fonte NGINX no Ubuntu, comece atualizando e atualizando seu sistema. Esta etapa garante que todos os pacotes do seu sistema estejam atualizados, minimizando possíveis problemas de compatibilidade.

Execute o seguinte comando em seu terminal para atualizar e atualizar seu sistema:

sudo apt update && sudo apt upgrade

Instalando dependências para compilação NGINX

Com seu sistema atualizado, o próximo passo envolve a instalação das dependências necessárias para a compilação do NGINX. Esses pacotes, como compiladores e bibliotecas, são cruciais para construir o NGINX a partir do código-fonte.

Para instalar as dependências necessárias, execute o seguinte comando:

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

O comando instala vários pacotes cruciais, cada um servindo uma função específica no processo de compilação do NGINX:

  • build-essential: Inclui o compilador GCC e ferramentas relacionadas, indispensáveis ​​para compilar software a partir do código-fonte.
  • libpcre3-dev: Fornece bibliotecas para suporte a expressões regulares compatíveis com Perl 5, cruciais para reescrita de URL e outras funcionalidades do NGINX.
  • libssl-dev: Oferece bibliotecas para suporte SSL/TLS, garantindo transmissão segura de dados, um aspecto fundamental dos serviços web modernos.
  • zlib1g-dev: Essencial para funcionalidades de compactação, este pacote ajuda a melhorar o desempenho e a velocidade do NGINX.
  • libgd-dev: oferece suporte a recursos de processamento de imagem, permitindo que o NGINX execute manipulações de imagem diretamente.

Baixe o código-fonte NGINX no Ubuntu

Selecionando a versão NGINX

Depois de instalar as dependências necessárias, prossiga com o download do código-fonte NGINX. Visite o site do NGINX para selecionar a versão que atende às suas necessidades. Você pode escolher entre a versão principal, estável ou qualquer versão específica. As versões principais são atualizadas regularmente com os recursos e melhorias mais recentes, enquanto as versões estáveis ​​se concentram na estabilidade bem testada para ambientes de produção.

Baixando o código-fonte

Para baixe a versão selecionada do NGINX, use o wget comando. Este comando permite baixar arquivos diretamente da Internet para o seu servidor. Por exemplo, para baixar a versão principal 1.23.3 como exemplo, use o seguinte comando:

wget http://nginx.org/download/nginx-x.x.x.tar.gz

Observação: Substitua o número da versão pela versão mais recente ou preferida que você deseja instalar. Sempre verifique o site do NGINX para obter as versões mais recentes para aproveitar as vantagens dos recursos e atualizações de segurança mais recentes. Lembre-se de que as versões principais podem ser atualizadas a cada poucos meses, portanto, manter-se informado sobre os lançamentos mais recentes é crucial para manter um ambiente de servidor seguro e eficiente.

Extraia o código-fonte NGINX

Descompactando o Tarball NGINX

Depois de baixar o código-fonte do NGINX, a próxima etapa é extrair os arquivos do tarball. Este processo envolve a descompactação do arquivo tar.gz para acessar o código-fonte do NGINX. Use o tar comando com os sinalizadores apropriados para extrair o conteúdo.

Veja como fazer isso, usando nossa versão de exemplo, NGINX 1.23.3:

tar -xzvf nginx-1.23.3.tar.gz

Este comando se divide da seguinte forma:

  • x: Extraia os arquivos.
  • z: Descompacte o arquivo usando gzip.
  • v: Modo detalhado para mostrar o processo de extração.
  • f: Especifique o nome do arquivo do arquivo.

Mudando para o diretório NGINX

Depois de extrair os arquivos, você precisa ir para o diretório onde a fonte NGINX foi descompactada. Esta etapa é crucial para iniciar o processo de compilação.

Use o cd comando para mover para o diretório NGINX extraído:

cd nginx-1.23.3

Configurar opções de compilação para NGINX no Ubuntu

Configurando opções de configuração

Ao se preparar para compilar o NGINX a partir do código-fonte, a configuração das opções de compilação adapta a instalação às suas necessidades específicas. Utilize o ./configure comando para definir caminhos e ativar vários módulos. Aqui está um comando que incorpora opções e caminhos de configuração comuns:

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

Este comando define vários caminhos para arquivos NGINX e inclui módulos que aprimoram a funcionalidade do NGINX, como suporte SSL e processamento HTTP/2.

Personalizando sua versão NGINX

Ao personalizar sua compilação NGINX, o ./configure script é uma ferramenta poderosa que permite ampla personalização. Veja como você pode personalizar sua instalação do NGINX para atender a requisitos específicos:

Exemplos de configurações

Para habilitar o suporte HTTP/2 e integrar a biblioteca PCRE, que é crucial para o processamento de expressões regulares no NGINX, use a seguinte configuração:

./configure --with-http_v2_module --with-pcre

Se precisar definir o diretório de instalação do NGINX, você pode configurá-lo usando o --prefix opção. Por exemplo, para instalar o NGINX no /usr/local/nginx diretório, o comando seria:

./configure --prefix=/usr/local/nginx

Para incorporar módulos adicionais como ngx_cache_purge, o --add-module opção entra em jogo. Para incluir este módulo, a configuração ficaria assim:

./configure --add-module=/path/to/ngx_cache_purge

Incluir bibliotecas extras como libxslt ou libssl é simples com o --with-XXX-module opção. Para incluir essas bibliotecas, os respectivos comandos seriam:

./configure --with-libxslt-module
./configure --with-openssl=/path/to/openssl

Para ativar módulos como SSL e o módulo IP real, os comandos de configuração seriam:

./configure --with-http_ssl_module
./configure --with-http_realip_module

Essas configurações demonstram apenas algumas maneiras de usar o ./configure script para personalizar sua construção NGINX.

Para obter uma lista abrangente de todas as opções disponíveis, você pode executar ./configure --help. Este comando fornece informações detalhadas sobre todos os sinalizadores e opções que você pode usar para otimizar a instalação do NGINX.

Comece o processo final para compilar o NGINX

Compilando NGINX

Depois de definir as opções de configuração para NGINX, inicie o processo de compilação com o make comando. Este comando compila o código-fonte NGINX com base nos parâmetros definidos no ./configure roteiro. O processo de compilação resulta na criação do executável binário NGINX, normalmente encontrado no objs diretório.

make

Instalando NGINX

Após compilar o NGINX, prossiga com a instalação usando sudo make install. Este comando instala o binário NGINX, os arquivos de configuração e os arquivos adicionais necessários no caminho do prefixo especificado. Se você não definiu um local diferente durante a configuração, o NGINX será instalado em /usr/local/nginx/ por padrão.

sudo make install

Após a instalação, você encontrará o NGINX no sbin diretório dentro do caminho do prefixo designado, pronto para configuração e uso adicionais.

Criar serviço NGINX SystemD

Depois de construir e instalar o NGINX a partir da fonte com sucesso, a próxima etapa é gerenciar o NGINX como um serviço usando o systemd. Isso permitirá que você inicie, pare e reinicie o NGINX como qualquer outro serviço Ubuntu.

Criando um arquivo de serviço SystemD para NGINX

Para configurar um serviço systemd para NGINX, comece criando um novo arquivo de serviço:

sudo nano /etc/systemd/system/nginx.service

Neste arquivo, insira os seguintes detalhes, garantindo que você substitua /path/to/nginx com o caminho real para o seu binário NGINX se ele não estiver localizado em /usr/sbin/nginx:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
        
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
        
[Install]
WantedBy=multi-user.target

Essa configuração configura o NGINX como um serviço, definindo como ele deve iniciar, parar e recarregar, e garante que ele seja iniciado depois que a rede estiver online.

Recarregando o SystemD para reconhecer o novo serviço

Após definir o serviço, atualize o systemd para reconhecer seu novo serviço NGINX:

sudo systemctl daemon-reload

Iniciando e habilitando o serviço NGINX

Com o serviço systemd instalado, inicie o serviço NGINX:

sudo systemctl start nginx

Para garantir que o NGINX seja iniciado automaticamente na inicialização, habilite o serviço:

sudo systemctl enable nginx

Verifique a instalação do NGINX

Testando a funcionalidade NGINX

Após instalar o NGINX, é fundamental verificar seu funcionamento. Você pode acessar a página de boas-vindas do NGINX por meio de um navegador da web. Use o endereço de host local ou endereço IP do seu servidor para navegar até a página de teste do NGINX.

Abra seu navegador e digite o seguinte URL para acessar a página de boas-vindas do NGINX usando o host local:

http://localhost

Usando endereço IP para verificação

Se o acesso ao host local não exibir a página de boas-vindas do NGINX, você poderá usar o endereço IP do seu servidor. Substituir 192.128.1.1 com o endereço IP real do seu servidor:

http://192.128.1.1

Ao acessar esses URLs, você deverá ver a página de boas-vindas padrão do NGINX, indicando que o NGINX está instalado e funcionando corretamente em seu servidor Ubuntu. Se a página não aparecer, verifique se o NGINX está em execução e se nenhuma regra de firewall bloqueia o acesso ao serviço.

Dicas adicionais para construir o NGINX

Compilando NGINX com módulos adicionais

Aprimore os recursos do NGINX incluindo módulos extras durante o processo de compilação. Por exemplo, se você deseja adicionar o módulo push HTTP NGINX, utilize o --add-module sinalizador durante a etapa de configuração. Siga estes comandos para compilar o NGINX com o módulo push HTTP:

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

Substituir /path/to/nginx-http-push-module com o caminho real para o módulo que você deseja incluir.

Gerenciando NGINX com comandos Systemctl

No Ubuntu, gerenciar o serviço NGINX é simples com comandos systemctl. Veja como controlar o serviço NGINX usando o terminal:

Inicie o NGINX:

sudo systemctl start nginx

Pare o NGINX:

sudo systemctl stop nginx

Reinicie o NGINX:

sudo systemctl restart nginx

Recarregue o NGINX:

sudo systemctl reload nginx

Verificação de status do NGINX

sudo systemctl status nginx

Habilite o NGINX na inicialização do sistema

sudo systemctl enable nginx

Desative o NGINX na inicialização do sistema:

sudo systemctl disable nginx

Conclusão

Neste guia, abordamos como construir o NGINX a partir do código-fonte no Ubuntu 24.04, 22.04 e 20.04, desde a instalação de pacotes até o gerenciamento do serviço. Este processo permite personalizar o NGINX com módulos extras e controlá-lo usando systemctl. Mantenha seu NGINX atualizado e configurado corretamente para obter melhor desempenho e segurança. Experimente as configurações e aproveite seu servidor NGINX no Ubuntu.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário


pt_BRPortuguês do Brasil