Como construir o NGINX a partir do código-fonte no Debian 12, 11 ou 10

Construir o NGINX a partir do código-fonte no Debian 12, 11 ou 10 oferece vários benefícios e possíveis desvantagens. A compilação a partir do código-fonte permite personalizar o NGINX com módulos específicos e otimizações adaptadas às suas necessidades, proporcionando maior controle sobre o processo de construção. Este método também pode garantir que você tenha os recursos e patches de segurança mais recentes antes que eles estejam disponíveis nos repositórios oficiais.

No entanto, existem alguns contras potenciais a serem considerados. Construir a partir do código-fonte requer mais tempo e esforço em comparação com a instalação de pacotes pré-compilados. Também requer um bom entendimento do processo de construção e das dependências. Além disso, o gerenciamento de atualizações pode ser mais complexo, pois é necessário recompilar manualmente o NGINX para cada nova versão.

Este guia demonstrará como construir o NGINX a partir do código-fonte no Debian 12, 11 ou 10, cobrindo as etapas e comandos necessários para garantir uma instalação bem-sucedida.

Etapa 1: atualizar e atualizar o Debian

Antes de iniciar a instalação, atualize seu sistema Debian. Use estes comandos no terminal:

sudo apt update
sudo apt upgrade

Esses comandos irão buscar a lista de atualizações disponíveis e, em seguida, atualizar seu sistema, garantindo que você esteja trabalhando com o software mais recente.

Etapa 2: instalar as dependências necessárias

Instale os pacotes iniciais necessários para compilar o Nginx com o seguinte comando:

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

Etapa 3: Baixe o código-fonte NGINX

Com as dependências necessárias instaladas, a próxima etapa é baixar o código-fonte do NGINX. Visite a Site NGINX e escolha a versão que melhor se adapta às suas necessidades. Você pode optar pela versão principal mais recente, estável ou outra versão.

Use o comando wget para baixar a versão escolhida:

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

Substitua xxx pelo número da versão. Por exemplo, para baixar a versão principal mais recente, 1.25.1, use o seguinte:

wget https://nginx.org/download/nginx-1.25.1.tar.gz

Nota: Não copie o comando acima; Este é apenas um exemplo. Certifique-se de obter o link de download estável ou principal mais recente.

Etapa 4: extraia o código-fonte

O código-fonte vem em um tarball compactado. Extraia-o usando este comando:

tar -xzvf nginx-1.25.1.tar.gz

Em seguida, navegue até o diretório recém-extraído:

cd nginx-1.25.1

Etapa 5: configurar opções NGINX

Para esta etapa, configure as opções NGINX da origem. Isso significa escolher os caminhos e módulos para sua construção NGINX. Use este comando:

./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-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

Aqui está o que as opções significam:

  • –prefix=/var/www/html: Define o diretório raiz para a instalação.
  • –sbin-path=/usr/sbin/nginx: Define para onde vai o programa nginx.
  • –conf-path=/etc/nginx/nginx.conf: escolhe o local do arquivo de configuração principal do NGINX.
  • –http-log-path=/var/log/nginx/access.log e –error-log-path=/var/log/nginx/error.log: Defina onde estão os arquivos de log.
  • –with-pcre: Ativa PCRE (Expressões regulares compatíveis com Perl) para arquivos de configuração.
  • –lock-path=/var/lock/nginx.lock e –pid-path=/var/run/nginx.pid: Defina locais para os arquivos de bloqueio e pid.
  • –with-http_ssl_module: ativa o módulo SSL para conexões web seguras.
  • –with-http_image_filter_module=dynamic: ativa o módulo de filtro de imagem.
  • –modules-path=/etc/nginx/modules: Define para onde vão os módulos dinâmicos.
  • –with-http_v2_module: ativa o módulo HTTP/2.
  • –with-stream=dynamic: ativa dinamicamente o módulo stream.
  • –with-http_addition_module e –with-http_mp4_module: ativa os módulos de adição e MP4.

Se você não quiser usar o módulo HTTP/3, deixe de fora –with-http_v3_module. HTTP/3 oferece navegação na web mais rápida e confiável.

Etapa 6: instalar o NGINX (compilar e construir o NGINX)

Depois de configurar as opções para construir o NGINX a partir da fonte, é hora de compilar e instalar o NGINX. Este é um processo de duas etapas:

Primeiro, o make comando compila o código-fonte NGINX usando as opções especificadas no ./configure roteiro. Isso cria o executável binário NGINX:

make

Em segundo lugar, o sudo make install O comando instala o binário NGINX, arquivos de configuração e outros arquivos no caminho do prefixo especificado no ./configure roteiro:

sudo make install

Após a instalação, o NGINX estará localizado no sbin diretório do caminho do prefixo.

Etapa 7: Criar serviço NGINX Systemd

Depois de construir e compilar o NGINX a partir da fonte, é crucial criar um processo systemd para gerenciar o serviço NGINX em seu sistema. Veja como:

Crie um novo arquivo de serviço systemd:

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

Adicione o seguinte conteúdo ao arquivo:

[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

Recarregue o daemon systemd:

sudo systemctl daemon-reload

Inicie o serviço NGINX:

sudo systemctl start nginx

Habilite o serviço NGINX para iniciar automaticamente na inicialização:

sudo systemctl enable nginx

Por fim, certifique-se de que o serviço esteja ativado:

systemctl status nginx

Etapa 8: teste o NGINX

Para verificar se o NGINX está funcionando corretamente, abra um navegador da web e navegue até a página de teste usando seu host local ou endereço IP do servidor:

http://localhost

Ou substitua localhost com o endereço IP do seu servidor.

Comandos e dicas adicionais

Compile NGINX com módulos adicionais

Você pode aprimorar a funcionalidade do NGINX compilando-o com módulos adicionais. Por exemplo, para usar o módulo push HTTP Nginx, use o sinalizador –add-module durante a configuração do NGINX:

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

Conclusão

Seguindo essas etapas, você pode construir e instalar o NGINX a partir do código-fonte em seu sistema Debian. Essa abordagem oferece maior flexibilidade e controle sobre a instalação do NGINX, permitindo adaptá-la às suas necessidades específicas. Verifique regularmente se há atualizações e recompile conforme necessário para manter a segurança e o desempenho. Aproveite os recursos aprimorados e as opções de personalização que a criação do NGINX a partir da fonte oferece.

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

Deixe um comentário