Como Instalar e Configurar o Nginx 1.26 no CentOS 7

Requisitos de Sistema e Dependências

Antes de iniciar a compilação do Nginx, é fundamental preparar o ambiente CentOS 7 instalando as bibliotecas necessárias para o processamento de requisições HTTP, compressão e suporte a conexões seguras (SSL/TLS).

yum -y install gcc-c++ pcre-devel zlib-devel openssl-devel

Download e Extração do Código-Fonte

Trabalharemos com a versão estável 1.26.1. Recomenda-se realizar o download diretamente no diretório de fontes do sistema.

# Acessando o diretório de fontes
cd /usr/local/src

# Baixando o pacote compactado
wget http://nginx.org/download/nginx-1.26.1.tar.gz

# Extraindo os arquivos
tar -zxvf nginx-1.26.1.tar.gz
cd nginx-1.26.1

Compilação e Instalação Personalizada

Nesta etapa, definimos o diretório de instalação padrão através do parâmetro --prefix. Após a configuração, procedemos com a compilação dos binários.

# Definindo o diretório de destino
./configure --prefix=/usr/local/nginx

# Compilando e instalando os arquivos
make && make install

Configuração do Firewall (Firewalld)

Para permitir o tráfego web na porta padrão (80), é necessário atualizar as regras do firewall do CentOS.

# Liberando a porta 80 permanentemente
firewall-cmd --permanent --zone=public --add-port=80/tcp

# Aplicando as novas regras
firewall-cmd --reload

Caso prefira desativar o firewall completamente (apenas para ambeintes de desenvolvimento), utilize:

systemctl stop firewalld
systemctl disable firewalld

Gerenciamento Manual do Nginx

O binário principal está localizado no subdiretório sbin. Abaixo, os comandos fundamentais para controle do processo:

# Acessando a pasta de executáveis
cd /usr/local/nginx/sbin/

# Iniciar o servidor
./nginx

# Parada rápida
./nginx -s stop

# Encerramento gracioso (aguarda conexões ativas)
./nginx -s quit

# Recarregar configurações sem reiniciar o processo
./nginx -s reload

# Validar sintaxe do arquivo de configuração
./nginx -t

Configuração de Variáveis de Ambiente

Para executar o comando nginx de qualquer local no terminal sem digitar o caminho completo, adicione o caminho ao PATH do seu perfil de usuário.

# Editando o perfil do bash
echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> ~/.bashrc

# Atualizando a sessão atual
source ~/.bashrc

Integração com Systemd para Automação

Para gerenciar o Nginx commo um serviço do sistema e permitir que ele inicie automaticamente após um reboot, devemos criar um arquivo de unidade systemd.

# Criando o arquivo de unidade
vi /usr/lib/systemd/system/nginx.service

Insira a seguinte configuração no arquivo:

[Unit]
Description=Servidor Web Nginx High Performance
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Após salvar o arquivo, registre o novo serviço e habilite a inicialização automática:

# Recarregar lista de serviços
systemctl daemon-reload

# Habilitar e iniciar
systemctl enable nginx
systemctl start nginx

# Verificar status
systemctl status nginx

Tags: nginx CentOS7 linux-server web-server systemd

Publicado em 6-15 00:28 por Thomas