Uma das práticas mais importantes da segurança e desempenho é a atualização constante de software para manter um servidor seguro, eficiente e confiável, evitando versões desatualizadas que podem conter vulnerabilidades as quais podem ser exploradas e expor seu sistema à riscos de falhas/ataques conhecidas de versões antigas de softwares. Aqui iremos mostrar como atualizar a versão do servidor NginX, em seu CentOS (mas no site oficial do NginX é possível consultar o procedimento de atualização em outras distribuições) de uma maneira simples, mas importante, para garantir a segurança e o desempenho do seu servidor web e/ou proxy reverso.
Antes de qualquer coisa
Se for possível, faça um backup (ou um snapshot) do seu servidor antes de fazer qualquer atualização. Com isso você poderá executar rotinas como essa em seu ambiente com mais segurança, podendo voltar ao estado anterior caso seja necessário.
Atualizando seu servidor
Antes de atualizarmos o NginX, vamos atualizar todos os pacotes do servidor CentOS, para isso, abra o Shell como root e execute:
yum update -y
yum upgrade -y
Confira se não houve erros (corrija o que for necessário), caso seu CentOS seja muito antigo e não esteja conseguindo atualizar com o comando yum veja se nosso post Corrigir erro de não conseguir mais executar comando yum no CentOS pode ajudar neste caso.
Depois de atualizado sugerimos também adicioanr o repositório Extra Packages for Enterprise Linux (EPEL) e atualizar novamente, com os comandos:
yum install epel-release
yum update -y
yum upgrade -y
Atualizando o NginX
Vamos adicionar o repositório oficial do NginX para CentOS, para isso crie o arquivo de respositório com o seguinte comando:
vi /etc/yum.repos.d/nginx.repo
Dentro do arquivo pressione a tecla INSERT, para entrar em modo de edição e deixe esse arquivo da seguinte forma:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Ao final, pressione a tecla ESC para sair do modo de edição e digite :wq! para salvar e sair. Agora, para atualizar o Ngin-X, execute:
yum update -y
Testando o seu ambiente atualizado
O repositório oficial do NginX possuí alguns pacotes com nomes diferentes dos que já devem estar instalados no seu CentOS, para testar reinicie o CentOS e consulte o status do serviço, com os comandos:
systemctl restart nginx
systemctl status nginx.service
Caso o serviço esteja com erro faça uma análise do log para entender qual é o erro do serviço, se o erro for por causa da versão de algum módulo, você poderá solucionar executando os seguintes comandos:
yum remove nginx-mod* -y
yum remove nginx-all-modules -y
yum install nginx-module-* -y
Reinicie e verifique novamente
systemctl restart nginx
systemctl status nginx.service
Caso ainda apresente algum erro, analise e corrija pontualmente (novas versões podem não aceitar alguma sintaxe que você utilizou em seus arquivos de configuração).
Limpando os arquivos desnecessários
Agora que seu ambiente está atualizado e funcionando corretamente, remova os pacotes que foram baixados, executando o comando:
yum clean all
Fontes/Referências
NVLAN – Corrigir erro de não conseguir mais executar comando yum no CentOS
https://docs.fedoraproject.org/en-US/epel
https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source
https://stackoverflow.com/questions/43550336/nginx-failed-test-version-1010002-instead-of-1012000-in-usr-share-nginx-modules
Mais Informações
Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.
Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.