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.