running mac know installed how cli check ubuntu configuration redis

ubuntu - mac - redis version



Redis-Conectarse al Servidor Remoto (6)

Acabo de instalar Redis usando las instrucciones de la guía de inicio rápido en http://redis.io/topics/quickstart en mi servidor Ubuntu 10.10. Estoy ejecutando el servicio como dameon (para que pueda ejecutarse por init.d)

El servidor es parte de Rackspace Cluster con IP internas y externas. El host se ejecuta en el puerto 6379 (estándar para Redis)

Agregué una fila en las tablas iptables para permitir las conexiones entrantes desde el puerto 6379, como se muestra a continuación:

ACCEPT tcp -- anywhere anywhere tcp dpt:6379

En mi código PHP en otro servidor, estoy tratando de conectarme al nuevo servidor Redis aquí:

$this->load->helper("iredis"); $hostname = "IP ADDRESS HERE"; $redis = new iRedis(array(''hostname'' => $hostname, ''port'' => 6379));

Una vez que hago esto, siempre me niegan una conexión. En mi archivo redis.conf, tengo el comando de enlace local comentado, por lo que debería estar escuchando en más que el IP del host local. Puedo conectarme a la base de datos en la máquina local simplemente no en otro servidor. Probé las IP externas e internas sin suerte.

¿Alguna sugerencia para hacer que esto funcione?


Además de la excelente respuesta dada por Orabîg:

Resolví este problema eliminando por completo la sección de bind y configurando protected-mode como no .

#bind 127.0.0.1 protected-mode no

Nunca use este método en servidores expuestos públicamente.


Configurar tcp-keepalive en 60 (se configuró en 0) en la configuración redis del servidor me ayudó a resolver este problema.


Me he quedado con el mismo problema, y ​​la respuesta anterior no me ayudó (aunque bien escrita).

La solución está aquí: verifique su /etc/redis/redis.conf , y asegúrese de cambiar la configuración predeterminada

bind 127.0.0.1

a

bind 0.0.0.0

Luego reinicie su servicio ( service redis-server restart )

Ahora puede verificar que redis esté escuchando en una interfaz no local con

redis-cli -h 192.168.x.x ping

(reemplace 192.168.xx con su dirección de IP)

Nota importante: como varios usuarios indicaron, no es seguro configurar esto en un servidor que está expuesto a Internet. Debe estar seguro de que redis está protegido con los medios que se ajusten a sus necesidades.


Orabig es correcto.

Puede enlazar 10.0.2.15 en Ubuntu (VirtualBox) y luego hacer un reenvío de puertos desde el host al huésped Ubuntu.

en /etc/redis/redis.conf

bind 10.0.2.15

luego, reinicie redis:

sudo systemctl restart redis

¡Funcionará!


Primero verificaría que esté escuchando en las direcciones IP que espera que tenga:

netstat -nlpt | grep 6379

Dependiendo de cómo comience / pare, es posible que no haya reiniciado realmente la instancia cuando creía que la tenía. El netstat te dirá si está escuchando donde crees que está. Si no, reinícielo y asegúrese de que se reinicie. Si se reinicia y todavía no está escuchando donde espera, verifique su archivo de configuración solo para estar seguro.

Después de establecer que está escuchando donde lo espera, desde un nodo remoto que debería tener acceso, intente:

redis-cli -h REMOTE.HOST ping

También podría intentarlo desde el host local, pero use la IP que espera que escuche en lugar de un nombre de host o un host local. Debería verlo PONG en respuesta en ambos casos.

De lo contrario, su (s) firewall (es) lo (s) está (n) bloqueando. Esta sería la IPTables local o posiblemente un firewall entre los nodos. Puede agregar una declaración de registro a su configuración de IPtables para registrar conexiones de más de 6379 para ver qué está sucediendo. Además, intentar volver a hacer ping desde local y no local a la misma IP debe ser ilustrativo. Si responde localmente pero no remotamente, me inclinaría hacia un firewall intermedio según la complejidad de las reglas de las tablas IP de tu nodo.


  • si descargó redis usted mismo (no apt-get install redis-server) y luego editó el archivo redis.conf con las sugerencias anteriores, asegúrese de que su inicio se redisuela con la configuración de la siguiente manera: ./src/redis-server redis.conf

    • Además, incluyo una captura de pantalla de la configuración del cuadro virtual para conectarse a redis, si está en Windows y se conecta a una virtualbox vm.