Migración de nginx a Angie#
Si estás cambiando de nginx a Angie, ¡felicidades! Tenemos una guía para ti.
Ten en cuenta que está diseñada para un escenario de reemplazo básico
que se basa en una versión empaquetada de Angie.
Si estás trabajando con contenedores,
máquinas virtuales, rutas personalizadas o
módulos,
necesitarás ajustes adicionales. Recomendamos usar los paquetes oficiales
de nuestros repositorios;
consulta los pasos de instalación de Angie para tu distribución.
No inicies el servidor todavía;
en su lugar, compruébalo con el comando sudo angie -V: Como esto muestra,
la configuración
se encuentra en Angie generalmente requiere cambios mínimos en la configuración existente de nginx. Copia toda la configuración de nginx a Asumimos que la configuración de nginx está almacenada en Renombra el archivo de configuración principal como espera Angie: Actualiza las rutas en toda la configuración de Angie,
comenzando por el archivo de configuración principal.
Los detalles dependen de cómo se instaló nginx,
pero como mínimo necesitas actualizar lo siguiente. Cualquier ruta include que todavía apunte a El archivo PID, que es importante para la gestión de procesos de Angie: Finalmente,
access log y error log: Si se utiliza el directorio sites-enabled/ para incluir hosts virtuales, actualícelo también: Luego recree los enlaces simbólicos en Liste los archivos de host virtual originales, por ejemplo: Observe su ubicación real; en este caso es Si no los copió a Finalmente, recreate each symlink: Encuentre e e installer los equivalentes de Angie para todos los módulos dinámicos referenciados en la configuración de nginx, por ejemplo: Esto significa que necesita instalar el paquete Hay dos formas populares de incluir la configuración de módulos dinámicos: Si los módulos dinámicos se incluyen a través de Luego copie los archivos de configuración del módulo: Finalmente, cambie la ruta load_module en cada archivo: Si los módulos dinámicos se incluyen vía
Luego recree los enlaces simbólicos en Liste los archivos de configuración de módulos originales, por ejemplo: Observe su ubicación real; en este caso es Cópielos a Finalmente, recreate cada enlace simbólico: Si root apunta al directorio /usr/share/nginx/html/, puede cambiar la directiva para que apunte a Angie. Copie el directorio y actualice el valor root en la configuración de Angie: Aunque es suficiente dejar la directiva user como está, puede usar cuentas de Angie para mayor flexibilidad. Actualice la configuración de user en la configuración de Angie: Cambie el propietario de todos los archivos de configuración, incluidos los archivos en /usr/share/angie/,
por ejemplo: Si la configuración de Angie tiene directivas root, cambie el propietario de los directorios especificados allí,
por ejemplo: Para asegurarse de que no se haya pasado nada por alto, busque y corrija las menciones restantes de nginx
en la configuración de Angie: Después de actualizar la configuración de Angie, el siguiente paso es verificar su sintaxis
para asegurarse de que Angie pueda trabajar con ella, y luego hacer el cambio.
Verifique que Angie acepte la nueva configuración: Este comando analiza la configuración
y reporta errores que impedirían el inicio de Angie;
corrija cualquier problema y vuelva a ejecutar el comando. Para minimizar el tiempo de inactividad, inicie Angie inmediatamente después de detener nginx: Si es necesario, habilite el servicio Angie para que se inicie después del reinicio: ¡Migración completa! Eso es todo; estás increíble. Después de confirmar que Angie está funcionando de manera estable, puedes deshabilitar o eliminar nginx para evitar conflictos. Lo mínimo que puedes hacer es deshabilitar el servicio: Es seguro asumir que estás migrando por una razón.
¿Por qué no ir más allá y configurar algunas de las características adicionales disponibles
en Angie y Angie PRO que no están en nginx?Instalación de 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/
cuando Angie se instala desde un paquete.Actualización de la configuración de Angie#
/etc/angie/
:$ sudo rsync -a --no-links /etc/nginx/ /etc/angie/
/etc/nginx/
;
ajusta los pasos si tienes una ruta 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;
# -- or --
# 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 Virtuales#
# include /etc/nginx/sites-enabled/*;
include /etc/angie/sites-enabled/*;
/etc/angie/sites-enabled/
para que todo funcione.$ ls -l /etc/nginx/sites-enabled/
default -> /etc/nginx/sites-available/default
/etc/nginx/sites-available/
./etc/angie/
anteriormente, cópielos ahora:$ 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
, y así sucesivamente./usr/share/nginx/modules/
,
actualice la ruta:# 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/
,
actualice la ruta:# include /etc/nginx/modules-enabled/*.conf;
include /etc/angie/modules-enabled/*.conf;
/etc/angie/modules-enabled/
para que todo funcione.$ 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
Directorio Raíz (Opcional)#
$ sudo rsync -a /usr/share/nginx/html/ /usr/share/angie/html/
# root /usr/share/nginx/html;
root /usr/share/angie/html;
Usuario y Grupo (Opcional)#
# user www-data www-data;
user angie angie;
$ sudo chown -R angie:angie /etc/angie/
$ sudo chown -R angie:angie /usr/share/angie/
$ sudo chown -R angie:angie /var/www/html/
Finalizando#
$ grep -rn --include='*.conf' 'nginx' /etc/angie/
Pruebas y Cambio#
$ sudo angie -t
Deteniendo nginx, Iniciando Angie#
$ sudo systemctl stop nginx && sudo systemctl start angie
$ sudo systemctl enable angie
Migración completada#
Deshabilitando nginx#
$ sudo systemctl disable nginx
Configurando Características de Angie#