bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Instalación de MeiliSearch

calendar_month Jul 20, 2026 schedule 16 min de lectura visibility 62 vistas
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Instalación de MeiliSearch en un VPS: Búsqueda rápida y potente para tus aplicaciones

TL;DR

En esta guía, configuraremos y pondremos en marcha MeiliSearch, un motor de búsqueda de código abierto de alto rendimiento, paso a paso en tu servidor virtual o dedicado. Aprenderás a instalar MeiliSearch usando Docker, a configurarlo para un acceso seguro vía HTTPS con Caddy, y a establecer un mantenimiento básico y copias de seguridad para asegurar un funcionamiento fiable de la búsqueda para tus aplicaciones web.

  • Configuración de un servidor de búsqueda seguro y de alto rendimiento en un VPS.
  • Uso de Docker para una instalación sencilla y fiable de MeiliSearch.
  • Configuración de HTTPS con gestión automática de certificados a través de Caddy.
  • Fundamentos de la protección del servidor con Fail2ban y UFW.
  • Creación de un script simple para la copia de seguridad de datos de MeiliSearch.
  • Recomendaciones para elegir la configuración óptima de VPS para tareas de búsqueda.

Qué configuramos y por qué

En el mundo moderno, la velocidad de acceso a la información es críticamente importante. Para cualquier aplicación web, tienda en línea, blog o sistema de gestión de contenido, la presencia de una búsqueda rápida y relevante es un factor clave en la experiencia del usuario. Esta es precisamente la tarea que resuelve MeiliSearch, un motor de búsqueda potente y ligero de código abierto, escrito en Rust.

MeiliSearch proporciona una API RESTful que permite integrarlo fácilmente en cualquier aplicación. Se distingue por su alta velocidad de indexación y búsqueda, la relevancia de los resultados "out of the box" gracias a algoritmos de clasificación inteligentes, y el soporte para búsqueda facetada, filtrado y morfología. Al final, el lector obtendrá un servidor MeiliSearch completamente funcional, listo para recibir datos y procesar solicitudes de búsqueda de sus aplicaciones.

Existen diferentes enfoques para implementar la búsqueda: el uso de servicios en la nube (por ejemplo, Algolia, Elastic Cloud) o el despliegue autoalojado (self-hosted) de soluciones como Elasticsearch, Solr o MeiliSearch. Los servicios en la nube son convenientes, pero pueden ser costosos con grandes volúmenes de datos o solicitudes, y también imponen limitaciones en el control sobre la infraestructura. El despliegue autoalojado en un VPS o servidor dedicado, por el contrario, proporciona control total, flexibilidad y a menudo menores costos operativos a largo plazo. MeiliSearch, en este contexto, destaca por su facilidad de instalación, bajos requisitos de recursos en comparación con Elasticsearch y excelente rendimiento, lo que lo convierte en una opción ideal para el despliegue en tu propio VPS.

Qué configuración de VPS se necesita para esta tarea

La elección de la configuración de VPS adecuada para MeiliSearch depende del volumen de datos que planeas indexar y de la carga de búsqueda esperada. MeiliSearch utiliza los recursos de manera eficiente, pero se requieren ciertos mínimos para un funcionamiento estable.

Requisitos mínimos:

  • CPU: 1-2 núcleos. MeiliSearch escala bien con el número de núcleos, especialmente durante la indexación.
  • RAM: 2 GB. Esto será suficiente para volúmenes de datos pequeños y medianos (hasta varios millones de documentos) y una carga moderada. MeiliSearch carga el índice en la memoria RAM para una búsqueda rápida.
  • Disco: 20-40 GB NVMe SSD. La velocidad del disco es crítica para la indexación y la escritura de datos. NVMe supera significativamente a SATA SSD.
  • Red: 100 Mbps. Esto es suficiente para la mayoría de las aplicaciones.

Plan de VPS recomendado para empezar (válido para 2026):

Para la mayoría de los proyectos donde el volumen de datos no excede los 10-20 millones de documentos y se esperan hasta varios cientos de solicitudes de búsqueda por minuto, la configuración óptima de VPS será la siguiente:

  • CPU: 2-4 vCPU (por ejemplo, Intel Xeon E5 o AMD EPYC).
  • RAM: 4-8 GB. Esto proporcionará un margen para un índice más grande y el sistema operativo.
  • Disco: 50-100 GB NVMe SSD. Suficiente para almacenar el índice y los archivos del sistema.
  • Red: 1 Gbps. Asegurará una rápida transferencia de datos entre la aplicación y MeiliSearch.

Puedes adquirir un VPS con las características indicadas, para asegurar un funcionamiento estable de MeiliSearch con margen para el crecimiento.

Cuándo se necesita un servidor dedicado, no un VPS:

Un servidor dedicado se vuelve necesario cuando:

  • El volumen de datos a indexar supera cientos de millones o miles de millones de documentos.
  • Se requiere un rendimiento muy alto para miles de solicitudes de búsqueda por segundo.
  • La aplicación tiene requisitos estrictos de latencia y rendimiento estable, que un VPS no puede garantizar debido a los "vecinos ruidosos".
  • Se necesita control total sobre el hardware, incluyendo procesadores específicos (por ejemplo, con gran caché) o arreglos RAID.

En tales casos, vale la pena considerar un servidor dedicado adecuado.

Ubicación: en qué influye

La ubicación del servidor afecta la latencia entre tu aplicación principal y MeiliSearch, así como entre los usuarios y tu aplicación. Es aconsejable ubicar el VPS con MeiliSearch lo más cerca posible de la aplicación principal para minimizar las latencias durante la indexación y la búsqueda. Si tu aplicación está en Europa, elige un centro de datos europeo. Si la audiencia objetivo está en Norteamérica, el servidor también debería estar allí.

Preparación del servidor

Antes de instalar MeiliSearch, es necesario realizar una configuración básica de seguridad y actualizar el sistema operativo. Utilizaremos Ubuntu Server 24.04 LTS, la versión actual y soportada para 2026.

1. Conexión por SSH y creación de usuario con sudo:

Después de obtener los datos de acceso al VPS, conéctate a él como usuario root:


ssh root@TU_DIRECCIÓN_IP

Crea un nuevo usuario para el trabajo diario (por ejemplo, meiliuser) y añádelo al grupo sudo:


adduser meiliuser
usermod -aG sudo meiliuser

Instala las claves SSH para el nuevo usuario. Copia tu clave SSH pública desde tu máquina local:


# En tu máquina local
ssh-copy-id meiliuser@TU_DIRECCIÓN_IP

Deshabilita el inicio de sesión SSH para root y el inicio de sesión con contraseña, dejando solo el inicio de sesión por clave para meiliuser. Edita el archivo /etc/ssh/sshd_config:


sudo nano /etc/ssh/sshd_config

Encuentra y modifica las siguientes líneas:


PermitRootLogin no
PasswordAuthentication no

Reinicia el servicio SSH:


sudo systemctl restart sshd

Sal de la sesión de root e inicia sesión como meiliuser.

2. Actualización del sistema:

Siempre comienza actualizando la base de paquetes y los paquetes instalados:


sudo apt update         # Actualiza la lista de paquetes disponibles
sudo apt upgrade -y     # Actualiza todos los paquetes instalados a las últimas versiones
sudo apt autoremove -y  # Elimina dependencias innecesarias

3. Instalación de utilidades básicas y Fail2ban:

Instalaremos las utilidades necesarias y Fail2ban para proteger SSH contra ataques de fuerza bruta:


sudo apt install -y curl wget git htop fail2ban unzip

Fail2ban está configurado por defecto para proteger SSH. Para activarlo, basta con instalarlo. Para una configuración más detallada, puedes crear el archivo /etc/fail2ban/jail.local:


sudo nano /etc/fail2ban/jail.local

Añade el siguiente contenido:


[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

Reinicia Fail2ban:


sudo systemctl restart fail2ban

4. Configuración del firewall UFW:

Habilita UFW (Uncomplicated Firewall) y permite solo los puertos necesarios:


sudo ufw allow OpenSSH       # Permite SSH (puerto 22)
sudo ufw allow http          # Permite HTTP (puerto 80)
sudo ufw allow https         # Permite HTTPS (puerto 443)
sudo ufw enable              # Habilita el firewall
sudo ufw status verbose      # Verifica el estado del firewall

Confirma la activación del firewall pulsando y.

Instalación del software — paso a paso

Instalaremos MeiliSearch utilizando Docker, ya que es el método más flexible y recomendado, proporcionando aislamiento y una gestión de versiones sencilla. Versiones actuales para 2026: Docker Engine 26.x, MeiliSearch 1.9.x, Caddy 2.8.x.

1. Instalación de Docker Engine:

Instala los paquetes necesarios para Docker:


sudo apt install -y ca-certificates curl gnupg lsb-release

Añade la clave GPG oficial de Docker:


sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Añade el repositorio de Docker a las fuentes de APT:


echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Actualiza la lista de paquetes e instala Docker Engine, Docker CLI y containerd:


sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Añade el usuario actual al grupo docker para ejecutar comandos Docker sin sudo:


sudo usermod -aG docker meiliuser

Sal de SSH y vuelve a iniciar sesión para que los cambios de grupo surtan efecto. Verifica la instalación de Docker:


docker run hello-world  # Ejecuta un contenedor de prueba de Docker

2. Instalación de MeiliSearch con Docker Compose:

Crea un directorio para MeiliSearch y el archivo docker-compose.yml:


mkdir ~/meilisearch
cd ~/meilisearch
nano docker-compose.yml

Pega el siguiente contenido en docker-compose.yml. Especifica la versión actual de MeiliSearch (por ejemplo, v1.9) y tu propia MEILI_MASTER_KEY:


version: '3.8'
services:
  meilisearch:
    image: getmeili/meilisearch:v1.9 # Usamos la versión actual de MeiliSearch
    container_name: meilisearch
    ports:
      - "127.0.0.1:7700:7700" # Vinculamos a la interfaz local, el acceso será a través de Caddy
    volumes:
      - ./data.ms:/meili_data # Directorio para almacenar los datos del índice
    environment:
      - MEILI_MASTER_KEY=TU_CLAVE_MAESTRA_SECRETA # Asegúrate de reemplazarlo con una clave compleja
      - MEILI_ENV=production # Indicamos que este es un entorno de producción
      - MEILI_HTTP_ADDR=0.0.0.0:7700 # MeiliSearch escuchará en todas las interfaces dentro del contenedor
    restart: always # Reinicio automático del contenedor en caso de fallo

Inicia MeiliSearch con Docker Compose:


docker compose up -d # Inicia el contenedor de MeiliSearch en segundo plano

Verifica que el contenedor esté en ejecución:


docker ps # Muestra los contenedores en ejecución

Deberías ver el contenedor meilisearch, ejecutándose en el puerto 7700 (vinculado a 127.0.0.1).

3. Instalación de Caddy (proxy inverso y HTTPS):

Caddy es un servidor web potente y fácil de usar que configura automáticamente HTTPS con Let's Encrypt. Es ideal para proxyficar solicitudes a MeiliSearch.

Añade la clave GPG de Caddy:


sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

Añade el repositorio de Caddy:


curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

Actualiza la lista de paquetes e instala Caddy:


sudo apt update
sudo apt install -y caddy

Verifica el estado de Caddy:


sudo systemctl status caddy # Verificamos que Caddy esté en ejecución y funcionando

Configuración

Ahora que MeiliSearch y Caddy están instalados, es necesario configurar Caddy para que actúe como proxy de las solicitudes a MeiliSearch y proporcione acceso HTTPS.

1. Configuración de Caddyfile:

Edite el archivo de configuración principal de Caddy — Caddyfile:


sudo nano /etc/caddy/Caddyfile

Elimine todo el contenido predeterminado e inserte lo siguiente, reemplazando your-domain.com por su nombre de dominio (por ejemplo, search.mydomain.com) y ВАШ_СЕКРЕТНЫЙ_МАСТЕР_КЛЮЧ por la misma clave que utilizó en docker-compose.yml:


your-domain.com {
    # Obtención automática de certificado SSL de Let's Encrypt
    tls {
        dns cloudflare {env.CLOUDFLARE_API_TOKEN} # Ejemplo para Cloudflare. Use su proveedor de DNS o deje tls si usa registros A/AAAA
    }

    # Protección de API con clave (capa de seguridad adicional)
    header Authorization "Bearer ВАШ_СЕКРЕТНЫЙ_МАСТЕР_КЛЮЧ"

    # Proxy de solicitudes a MeiliSearch, ejecutándose en el puerto local 7700
    reverse_proxy 127.0.0.1:7700 {
        header_up Host {host}
        header_up X-Real-IP {remote_ip}
        header_up X-Forwarded-Proto {scheme}
    }

    # Configuración de registro (opcional)
    log {
        output file /var/log/caddy/meilisearch_access.log
        format json
    }

    # Manejo de errores (opcional)
    handle_errors {
        respond "{http.error.status_code} {http.error.status_text}" {http.error.status_code}
    }
}

Importante: Para la obtención automática de un certificado TLS utilizando un proveedor de DNS (como en el ejemplo de Cloudflare), necesitará instalar el plugin de Caddy correspondiente y configurar las variables de entorno. Si utiliza registros A/AAAA y su dominio es accesible desde el exterior, basta con especificar tls sin opciones adicionales, y Caddy obtendrá el certificado automáticamente. Si utiliza un plugin de DNS, asegúrese de que las variables de entorno (por ejemplo, CLOUDFLARE_API_TOKEN) estén configuradas en el archivo de servicio de Caddy o a través de variables del sistema.

Para Caddy con Cloudflare DNS, instale el plugin:


# Ejemplo de instalación del plugin de Caddy para Cloudflare DNS.
# Este paso puede variar según su proveedor de DNS.
# Si no usa un plugin de DNS, omita este paso.
sudo apt install -y caddy-dns-cloudflare # O otro plugin, por ejemplo caddy-dns-digitalocean

Si utiliza un plugin de DNS, añada las variables de entorno al archivo de servicio de Caddy. Edite el archivo /etc/systemd/system/caddy.service.d/override.conf (créelo si no existe):


sudo systemctl edit caddy

Añada las siguientes líneas (reemplace con su token):


[Service]
Environment="CLOUDFLARE_API_TOKEN=ВАШ_API_ТОКЕН_CLOUDFLARE"

Guarde el archivo y reinicie Caddy:


sudo systemctl daemon-reload # Recargamos systemd para que vea los cambios en el servicio
sudo systemctl restart caddy # Reiniciamos Caddy para aplicar la configuración y obtener el certificado
sudo systemctl status caddy  # Verificamos el estado de Caddy

Asegúrese de que Caddy se haya iniciado correctamente y haya obtenido el certificado SSL. No debería haber errores relacionados con TLS en los registros.

2. Verificación de la operatividad:

Utilice curl para verificar la disponibilidad de MeiliSearch a través de Caddy:


curl -I https://your-domain.com/health # Verificamos el estado de salud de MeiliSearch

Si todo está configurado correctamente, debería recibir una respuesta con el estado HTTP 200 OK. También puede verificar la versión de MeiliSearch:


curl -X GET 'https://your-domain.com/version' \
  -H 'Authorization: Bearer ВАШ_СЕКРЕТНЫЙ_МАСТЕР_КЛЮЧ'

Debería ver una respuesta JSON con la información de la versión de MeiliSearch.

3. Apertura de puertos en el firewall (si no se hizo antes):

Asegúrese de que los puertos 80 y 443 estén abiertos en UFW:


sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Copias de seguridad y mantenimiento

Las copias de seguridad fiables y el mantenimiento regular son cruciales para cualquier servicio en producción, incluido MeiliSearch.

1. Qué respaldar:

  • Datos de MeiliSearch: El volumen principal de datos, incluidos índices, configuraciones y documentos, se almacena en el directorio especificado en docker-compose.yml (en nuestro caso ./data.ms).
  • Archivos de configuración: docker-compose.yml, /etc/caddy/Caddyfile, así como cualquier archivo relacionado con la configuración del sistema o del firewall.

2. Script simple de copia de seguridad automática:

Crearemos un script simple para crear una instantánea de los datos de MeiliSearch y archivarlos. MeiliSearch tiene una función incorporada para crear instantáneas (snapshots).

Cree un directorio para las copias de seguridad y el script:


mkdir -p ~/backups/meilisearch
nano ~/backup_meilisearch.sh

Inserte el siguiente contenido, reemplazando ВАШ_СЕКРЕТНЫЙ_МАСТЕР_КЛЮЧ y your-domain.com:


#!/bin/bash

# Ruta al directorio de MeiliSearch
MEILI_DIR="/home/meiliuser/meilisearch"
# Ruta para almacenar las copias de seguridad
BACKUP_DIR="/home/meiliuser/backups/meilisearch"
# Dominio de MeiliSearch
MEILI_DOMAIN="your-domain.com"
# Clave maestra de MeiliSearch
MEILI_MASTER_KEY="ВАШ_СЕКРЕТНЫЙ_МАСТЕР_КЛЮЧ"
# Nombre del archivo de copia de seguridad
BACKUP_FILENAME="meilisearch_$(date +%Y%m%d%H%M%S).dump"

echo "Iniciando la creación del volcado de MeiliSearch..."

# Creamos el volcado de MeiliSearch a través de la API
curl -X POST "https://${MEILI_DOMAIN}/dumps" \
  -H "Authorization: Bearer ${MEILI_MASTER_KEY}" \
  -H "Content-Type: application/json"

# Esperamos unos segundos a que se cree el volcado.
# En producción, es mejor verificar el estado del volcado a través de la API /dumps/{dump_uid}/status
sleep 10

# Copiamos el volcado creado desde el contenedor Docker
# Primero, encontramos el UID del último volcado
LATEST_DUMP_UID=$(curl -X GET "https://${MEILI_DOMAIN}/dumps" \
  -H "Authorization: Bearer ${MEILI_MASTER_KEY}" \
  | jq -r '.[-1].uid')

# Si jq no está instalado, puede instalarlo: sudo apt install -y jq
# Si LATEST_DUMP_UID está vacío, algo salió mal
if [ -z "$LATEST_DUMP_UID" ]; then
    echo "Error: No se pudo obtener el UID del último volcado."
    exit 1
fi

echo "Copiando el volcado ${LATEST_DUMP_UID} del contenedor..."
docker cp meilisearch:/meili_data/dumps/${LATEST_DUMP_UID}.dump ${BACKUP_DIR}/${BACKUP_FILENAME}

if [ $? -eq 0 ]; then
    echo "Volcado copiado exitosamente a ${BACKUP_DIR}/${BACKUP_FILENAME}"
    # Limpiamos las copias de seguridad antiguas (mantenemos las de los últimos 7 días)
    find ${BACKUP_DIR} -type f -name 'meilisearch_*.dump' -mtime +7 -delete
    echo "Copias de seguridad antiguas eliminadas."
else
    echo "Error al copiar el volcado."
fi

echo "Copia de seguridad completada."

Haga el script ejecutable:


chmod +x ~/backup_meilisearch.sh

Añada el script a cron para su ejecución diaria (por ejemplo, a las 3 de la mañana):


crontab -e

Añada la siguiente línea al final del archivo:


0 3 * * * /home/meiliuser/backup_meilisearch.sh >> /var/log/meilisearch_backup.log 2>&1

3. Dónde almacenar las copias de seguridad:

Almacenar las copias de seguridad en el mismo servidor que el servicio principal no es seguro. Se recomienda utilizar:

  • Almacenamiento externo compatible con S3: Por ejemplo, AWS S3, DigitalOcean Spaces, Backblaze B2. Para la carga automática, se pueden usar utilidades como s3cmd o rclone.
  • VPS separado: Un pequeño VPS diseñado exclusivamente para almacenar copias de seguridad. Se puede usar rsync a través de SSH para la sincronización.
  • Almacenamiento en red local (NAS): Si tiene su propia infraestructura.

Para el ejemplo con rclone (instale sudo apt install -y rclone):


# Ejemplo de cómo añadir la carga a S3 en el script backup_meilisearch.sh
# ... después de la línea "Copia de seguridad completada."
echo "Cargando volcado a S3..."
rclone copy ${BACKUP_DIR}/${BACKUP_FILENAME} remote:bucket_name/meilisearch_backups/
if [ $? -eq 0 ]; then
    echo "Volcado cargado exitosamente a S3."
else
    echo "Error al cargar el volcado a S3."
fi

Configure rclone previamente usando rclone config.

4. Actualizaciones:

  • Actualización del SO: Ejecute regularmente sudo apt update && sudo apt upgrade -y. Planifíquelo una vez al mes o a medida que se publiquen actualizaciones de seguridad importantes.
  • Actualización de Docker: Actualice Docker Engine a medida que se publiquen versiones estables.
  • Actualización de MeiliSearch: La actualización de MeiliSearch generalmente se reduce a cambiar la etiqueta de la imagen en docker-compose.yml (por ejemplo, de v1.9 a v1.10) y reiniciar el contenedor:
    
                cd ~/meilisearch
                # Cambie la versión en docker-compose.yml
                docker compose pull meilisearch # Descargamos la nueva imagen
                docker compose up -d           # Recreamos el contenedor con la nueva imagen
                

    Rolling vs. Ventana de mantenimiento: Para MeiliSearch, que es un servicio de búsqueda crítico, las actualizaciones se deben realizar preferiblemente en una "ventana de mantenimiento" con notificación previa a los usuarios. Aunque Docker permite cambiar rápidamente entre versiones, siempre existe el riesgo de incompatibilidad o problemas con la migración de datos. Siempre haga una copia de seguridad antes de actualizar MeiliSearch.

  • Actualización de Caddy: Caddy se actualiza a través de APT: sudo apt update && sudo apt upgrade -y caddy. Después de la actualización, Caddy se reiniciará automáticamente.

Solución de problemas y preguntas frecuentes

Solución de problemas + Preguntas frecuentes

MeiliSearch no se inicia o no está disponible

Qué verificar: Asegúrese de que el contenedor Docker de MeiliSearch esté en ejecución (docker ps). Verifique los registros del contenedor (docker logs meilisearch) en busca de errores. Asegúrese de que el puerto 7700 no esté ocupado por otra aplicación (sudo netstat -tulnp | grep 7700) y que MeiliSearch esté vinculado a 127.0.0.1, como se especifica en docker-compose.yml. También verifique que Caddy esté en ejecución (sudo systemctl status caddy) y sus registros (sudo journalctl -u caddy).

Cómo solucionarlo: Si el contenedor no se inicia, corrija los errores en docker-compose.yml (errores tipográficos, clave maestra incorrecta). Si el puerto está ocupado, cámbielo o detenga la otra aplicación. Si Caddy no puede obtener un certificado, verifique los registros DNS del dominio y la configuración correcta del plugin DNS de Caddy (si se utiliza).

Indexación o búsqueda lenta

Qué verificar: Monitoreo de recursos del servidor (htop, docker stats meilisearch). Verifique el uso de CPU, RAM y el subsistema de disco. Un disco lento (no NVMe) puede ser un cuello de botella durante la indexación. Una gran cantidad de documentos o filtros complejos pueden ralentizar la búsqueda. Asegúrese de que MeiliSearch tenga suficiente memoria RAM para cargar el índice.

Cómo solucionarlo: Aumente la cantidad de RAM o cambie a un VPS con un disco NVMe más rápido. Optimice la estructura de datos, reduzca el número de campos a indexar o utilice facetas de manera más eficiente. Considere escalar MeiliSearch a un servidor más potente o distribuir la carga, si es posible.

Error 401 Unauthorized al acceder a la API

Qué verificar: Asegúrese de que está pasando la MEILI_MASTER_KEY correcta en el encabezado Authorization: Bearer SU_CLAVE. Verifique que la clave en docker-compose.yml y en Caddyfile (si usa Caddy para agregar el encabezado) coincidan.

Cómo solucionarlo: Verifique cuidadosamente la clave maestra. Si la ha olvidado, puede cambiarla en docker-compose.yml y reiniciar el contenedor, pero esto podría afectar a las aplicaciones existentes que utilizan la clave antigua. Asegúrese de que Caddy agregue correctamente el encabezado Authorization, si está configurado para ello.

No se puede obtener un certificado SSL para el dominio

Qué verificar: Asegúrese de que su dominio apunte correctamente a la dirección IP de su VPS (registros A/AAAA). Verifique que los puertos 80 y 443 estén abiertos en UFW. Si utiliza el plugin DNS de Caddy, asegúrese de que el token API para su proveedor de DNS sea correcto y tenga los permisos necesarios.

Cómo solucionarlo: Corrija los registros DNS. Abra los puertos 80 y 443 en el firewall. Vuelva a verificar el token API y los permisos para el plugin DNS. Consulte los registros de Caddy (sudo journalctl -u caddy) para obtener información más detallada sobre los errores de Let's Encrypt.

¿Qué configuración mínima de VPS es adecuada?

Qué verificar: Para proyectos pequeños con un volumen de datos de hasta varios millones de documentos y una carga baja (hasta unas pocas solicitudes por segundo), un VPS con 2 vCPU, 2 GB de RAM y 20-40 GB de SSD NVMe será suficiente como mínimo. Esto será suficiente para el funcionamiento básico de MeiliSearch.

Cómo solucionarlo: Siempre guíese por el volumen de datos. Si el índice crece, los requisitos de RAM también aumentarán. Con el aumento de la carga de búsqueda, se requerirá más CPU. Siempre es mejor tener un pequeño margen de recursos para evitar la degradación del rendimiento.

¿Qué elegir: VPS o dedicado para esta tarea?

Qué verificar: La elección depende de la escala de su proyecto. Un VPS es adecuado para la mayoría de los proyectos medianos, donde la flexibilidad, el despliegue rápido y la rentabilidad son críticos. Es ideal para startups, aplicaciones web pequeñas y medianas.

Cómo solucionarlo: Un servidor dedicado es necesario para volúmenes de datos muy grandes (cientos de millones de documentos o más), alta carga (miles de solicitudes por segundo) o requisitos estrictos de rendimiento estable sin la influencia de "vecinos". También proporciona control total sobre el hardware, lo que puede ser importante para optimizaciones específicas o seguridad.

Conclusiones y próximos pasos

¡Felicidades! Ha instalado y configurado MeiliSearch con éxito en su VPS, proporcionando una búsqueda rápida y potente para sus aplicaciones, protegida con HTTPS mediante Caddy. Ahora su motor de búsqueda está listo para indexar datos y procesar consultas de búsqueda.

Próximos pasos para un mayor desarrollo y optimización:

  • Integración con la aplicación: Utilice los SDK oficiales de MeiliSearch para su lenguaje de programación (JavaScript, PHP, Python, Ruby, etc.) para enviar datos a indexar y ejecutar consultas de búsqueda.
  • Monitoreo del rendimiento: Configure un sistema de monitoreo (por ejemplo, Prometheus + Grafana) para rastrear métricas de MeiliSearch, como el tiempo de respuesta, el número de documentos, el uso de recursos.
  • Optimización del índice: Estudie la documentación de MeiliSearch sobre la configuración de relevancia, sinónimos, palabras vacías, facetas y filtros para mejorar al máximo la calidad de búsqueda para sus usuarios.

¿Te fue útil esta guía?

Tus comentarios nos ayudan a mejorar nuestras guías.

Compartir esta publicación:

Envía esta guía a alguien a quien pueda resultarle útil.

Telegram VKVK WhatsApp Facebook LinkedIn XX

instalación de Meilisearch en VPS: búsqueda rápida y potente para tus aplicaciones
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.