Migrando do nginx para o Angie#
Se você está mudando do nginx para o Angie, parabéns! Temos um guia para você.
Tenha em mente que ele é direcionado para um cenário básico de substituição
que depende de uma versão empacotada do Angie.
Se você está trabalhando com contêineres,
máquinas virtuais, caminhos personalizados ou
módulos,
você precisará de ajustes adicionais. Recomendamos usar os pacotes oficiais
dos nossos repositórios;
veja os passos de instalação do Angie para sua distribuição.
Não inicie o servidor ainda;
em vez disso, verifique-o com o comando sudo angie -V: Como isso mostra,
a configuração
está localizada em O Angie geralmente requer mudanças mínimas na configuração nginx existente. Copie toda a configuração nginx para Assumimos que a configuração nginx está armazenada em Renomeie o arquivo de configuração principal como o Angie espera: Atualize os caminhos em toda a configuração do Angie,
começando com o arquivo de configuração principal.
Os detalhes dependem de como o nginx foi instalado,
mas no mínimo você precisa atualizar o seguinte. Quaisquer caminhos include que ainda apontem para O arquivo PID, que é importante para o gerenciamento de processos do Angie: Finalmente,
log de acesso e log de erro: Se o diretório Então recrie os links simbólicos em Liste os arquivos de host virtual originais, por exemplo: Note sua localização real;
aqui é Se você não os copiou para Finalmente, recrie cada link simbólico: Encontre e instale
equivalentes do Angie para todos os módulos dinâmicos
referenciados na configuração nginx, por exemplo: Isso significa que você precisa instalar o pacote Existem duas maneiras populares de incluir configuração de módulo dinâmico: Se módulos dinâmicos são incluídos via Então copie os arquivos de configuração do módulo: Finalmente, altere o caminho load_module em cada arquivo: Se módulos dinâmicos são incluídos via
Então recrie os links simbólicos em Liste os arquivos de configuração de módulo originais, por exemplo: Note sua localização real;
aqui é Copie-os para Finalmente, recrie cada link simbólico: Se root aponta para o
diretório Copie o diretório e atualize o valor Embora seja suficiente deixar a diretiva user como está,
você pode usar contas do Angie para flexibilidade. Atualize as configurações Altere o proprietário de todos os arquivos de configuração,
incluindo arquivos em Se a configuração do Angie tem diretivas root,
altere o proprietário dos diretórios especificados lá,
por exemplo: Para ter certeza de que nada foi perdido,
encontre e corrija menções restantes de Após atualizar a configuração do Angie,
o próximo passo é verificar sua sintaxe
para garantir que o Angie possa trabalhar com ela,
e então fazer a mudança.
Verifique se o Angie aceita a nova configuração: Este comando analisa a configuração
e reporta erros que bloqueariam a inicialização do Angie;
corrija quaisquer problemas e execute o comando novamente. Para minimizar o tempo de inatividade, inicie o Angie imediatamente após parar o nginx: Se necessário, habilite o serviço Angie para iniciar após a reinicialização: Migração completa! É isso; você é incrível. Após confirmar que o Angie está executando de forma estável,
você pode desabilitar ou remover o nginx para evitar conflitos. O mínimo que você pode fazer é desabilitar o serviço: Se você usou o Certbot para gerenciar certificados SSL com o nginx,
ele continuará a funcionar com o Angie. Suportar o Angie no Certbot requer esforço mínimo,
já que o Angie é retrocompatível com o nginx.
Para o Certbot funcionar, é suficiente criar um link simbólico
e especificar os parâmetros apropriados: Após migrar para o Angie, o Certbot continuará a renovar automaticamente os certificados
através de tarefas cron ou timers systemd configurados. O Angie inclui um módulo ACME integrado,
que permite obter e renovar certificados SSL automaticamente
sem usar ferramentas externas como o Certbot. Vantagens do módulo ACME integrado: integração completa com a configuração do Angie; renovação automática de certificados sem serviços adicionais; suporte para validação HTTP e DNS; capacidade de obter certificados wildcard. Para instruções detalhadas sobre como migrar do Certbot para o módulo ACME integrado,
consulte a seção Migrando do certbot. É seguro assumir que você está migrando por uma razão.
Por que não ir além e configurar alguns dos recursos adicionais
disponíveis no Angie e Angie PRO
que não estão no nginx?Instalando o Angie#
$ sudo angie -V
Angie version: Angie/1.10.3
nginx version: nginx/1.27.5
built by gcc 11.4.0
configure arguments: --prefix=/etc/angie --conf-path=/etc/angie/angie.conf ...
/etc/angie/
quando o Angie é instalado a partir de um pacote.Atualizando a Configuração do Angie#
/etc/angie/:$ sudo rsync -a --no-links /etc/nginx/ /etc/angie/
/etc/nginx/;
ajuste os passos se você tiver um caminho diferente.$ sudo mv /etc/angie/nginx.conf /etc/angie/angie.conf
/etc/nginx/:# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/default.d/*.conf;
# include /etc/nginx/http.d/*.conf;
# include /etc/nginx/stream.d/*.conf;
include /etc/angie/conf.d/*.conf;
include /etc/angie/default.d/*.conf;
include /etc/angie/http.d/*.conf;
include /etc/angie/stream.d/*.conf;
# include /etc/nginx/sites-enabled/*;
include /etc/angie/sites-enabled/*;
# include /etc/nginx/modules-enabled/*;
include /etc/angie/modules-enabled/*;
# include /etc/nginx/mime.types;
include /etc/angie/mime.types;
# pid /var/run/nginx.pid;
# -- ou --
# pid /run/nginx.pid;
pid /run/angie.pid;
# access_log /var/log/nginx/access.log;
access_log /var/log/angie/access.log;
# error_log /var/log/nginx/error.log;
error_log /var/log/angie/error.log;
Hosts Virtuais#
sites-enabled/ é usado para incluir hosts virtuais,
atualize-o também:# include /etc/nginx/sites-enabled/*;
include /etc/angie/sites-enabled/*;
/etc/angie/sites-enabled/
para fazer tudo funcionar.$ ls -l /etc/nginx/sites-enabled/
default -> /etc/nginx/sites-available/default
/etc/nginx/sites-available/./etc/angie/ anteriormente,
copie-os agora:$ sudo rsync -a /etc/nginx/sites-available/ /etc/angie/sites-available/
$ sudo ln -s /etc/angie/sites-available/default \
/etc/angie/sites-enabled/default
Módulos Dinâmicos#
$ sudo nginx -T | grep load_module
load_module modules/ngx_http_geoip2_module.so;
load_module modules/ngx_stream_geoip2_module.so;
...
angie-module-geoip2,
e assim por diante./usr/share/nginx/modules/,
atualize o caminho:# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
# include /usr/share/nginx/modules/*.conf;
include /usr/share/angie/modules/*.conf;
$ sudo rsync -a /usr/share/nginx/modules/ /usr/share/angie/modules/
# load_module "/usr/lib64/nginx/modules/ngx_http_geoip2_module.so";
load_module "/usr/lib64/angie/modules/ngx_http_geoip2_module.so";
/etc/nginx/modules-enabled/,
atualize o caminho:# include /etc/nginx/modules-enabled/*.conf;
include /etc/angie/modules-enabled/*.conf;
/etc/angie/modules-enabled/
para fazer tudo funcionar.$ ls -l /etc/nginx/modules-enabled/
mod-http-geoip2.conf -> /usr/share/nginx/modules-available/mod-http-geoip2.conf
/usr/share/nginx/modules-available/./usr/share/angie/:$ sudo rsync -a /usr/share/nginx/modules-available/ /usr/share/angie/modules-available/
$ sudo ln -s /usr/share/angie/modules-available/mod-http-geoip2.conf \
/etc/angie/modules-enabled/mod-http-geoip2.conf
Diretório Root (Opcional)#
/usr/share/nginx/html/,
você pode alterar a diretiva para apontar para o Angie.root na configuração do Angie:$ sudo rsync -a /usr/share/nginx/html/ /usr/share/angie/html/
# root /usr/share/nginx/html;
root /usr/share/angie/html;
Usuário e Grupo (Opcional)#
user na configuração do Angie:# user www-data www-data;
user angie angie;
/usr/share/angie/,
por exemplo:$ sudo chown -R angie:angie /etc/angie/
$ sudo chown -R angie:angie /usr/share/angie/
$ sudo chown -R angie:angie /var/www/html/
Finalizando#
nginx na configuração do Angie:$ grep -rn --include='*.conf' 'nginx' /etc/angie/
Testando e Mudando#
$ sudo angie -t
Parando o nginx, Iniciando o Angie#
$ sudo systemctl stop nginx && sudo systemctl start angie
$ sudo systemctl enable angie
Desabilitando o nginx#
$ sudo systemctl disable nginx
Trabalhando com Certificados SSL#
Usando o Certbot com o Angie#
# Create a symlink for Certbot compatibility
$ sudo ln -s /etc/angie/angie.conf /etc/angie/nginx.conf
# Obtain a certificate for a domain
$ sudo certbot --nginx --nginx-server-root=/etc/angie --nginx-ctl=angie -d example.com -d www.example.com
# Automatically renew certificates
$ sudo certbot renew
# Check certificate status
$ sudo certbot certificates
Migrando do Certbot para o Módulo ACME Integrado#
Configurando Recursos do Angie#