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: É 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.2
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 Raiz (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
Configurando Recursos do Angie#