ruby-on-rails macos path redis foreman

ruby on rails - Foreman termina inmediatamente



ruby-on-rails macos (3)

Recientemente instalé OSX y Ubuntu en diferentes computadoras. Luego intenté instalar Redis y Foreman para ambos SO. Ambos errores no arrojaron banderas, y parecieron ejecutarse con éxito. Sin embargo, cada vez que voy a iniciar el capataz con el foreman start , me encuentro con el problema a continuación en ambas computadoras:

23:48:35 web.1 | started with pid 1316 23:48:35 redis.1 | started with pid 1317 23:48:35 worker.1 | started with pid 1318 23:48:35 redis.1 | [1317] 11 Jun 23:48:35.180 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 23:48:35 redis.1 | [1317] 11 Jun 23:48:35.181 * Increased maximum number of open files to 10032 (it was originally set to 256). 23:48:35 redis.1 | [1317] 11 Jun 23:48:35.181 # Creating Server TCP listening socket *:6379: bind: Address already in use 23:48:35 redis.1 | exited with code 1 23:48:35 system | sending SIGTERM to all processes 23:48:35 worker.1 | terminated by SIGTERM 23:48:35 web.1 | terminated by SIGTERM

Por alguna razón, me parece una cuestión de ruta porque parece que Redis o Foreman no pueden encontrar los archivos que necesitan para ejecutar con éxito, pero no estoy del todo seguro.

En OSX, utilicé el gem install foreman y Brew install Redis .

En Ubuntu utilicé lo siguiente:

Redis:

$ cd ~ $ wget http://download.redis.io/redis-stable.tar.gz $ tar xvzf redis-stable.tar.gz $ cd redis-stable $ make $ make test

Capataz:

$ gem install foreman

My PATH en OSX es el siguiente:

/Users/c/.rvm/gems/ruby-2.1.0/bin:/Users/c/.rvm/gems/ruby-2.1.0@global/bin:/Users/c/.rvm/rubies/ruby- 2.1.0 / bin: /Users/c/.rvm/bin: / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin

En Ubuntu, mi PATH es:

/usr/local/bin:/usr/lib/postgresql:/usr/lib/postgresql/9.3:/usr/lib/ postgresql / 9.3 / lib: /usr/lib/postgresql/9.3/bin: / usr / share / doc: /usr/share/doc/postgresql-9.3: / usr / share / postgresql: /usr/share/postgresql/9.3: /usr/share/postgresql/9.3/man: $ PATH

Redis-server parece ejecutarse correctamente una vez, y luego falla con el mensaje:

[1457] 12 Jun 00:02:48.481 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf [1457] 12 Jun 00:02:48.482 * Increased maximum number of open files to 10032 (it was originally set to 256). [1457] 12 Jun 00:02:48.483 # Creating Server TCP listening socket *:6379: bind: Address already in use

Intentando $ redis-server stop regresa:

[1504] 12 Jun 00:05:56.173 # Fatal error, can''t open config file ''stop''

Necesito ayuda para averiguar cómo hacer que Foreman y Redis trabajen juntos para que pueda ver mis archivos locales en el navegador en 127.0.0.1

EDITAR

Redis comienza, pero no sucede nada cuando navego a localhost: 6379. También probé la sugerencia de encontrar procesos. Encontró

c 751 0.0 0.0 2432768 596 s005 R+ 2:03PM 0:00.00 grep redis c 616 0.0 0.0 2469952 1652 s004 S+ 2:01PM 0:00.05 redis-server *:6379

Tratando de kill el proceso resulta en

kill: uso: kill [-s sigspec | -n signum | -sigspec] pid | trabajospec ... o matar -l [sigspec]


  1. Enumere el servidor redis ejecutándose usando el comando de terminal: ps aux | grep redis
  2. En la lista, anote el número ''pid'' del servidor que desea terminar Ejemplo pid: 5379
  3. usar el comando: kill 5379

Intente iniciar el servidor Redis con el siguiente comando:

redis-server <path to your config file>

Además, verifique si hay una instancia del servidor Redis que ya se está ejecutando

ps aux | grep redis

y luego si se encuentra el proceso:

kill <process id>

Reinicia tu servidor redis.


Este trazador de líneas matará a cualquier redis-servers existente y luego comenzará un nuevo redis-server. Cuando se ejecuta en Foreman, no envía un SIGTERM que causa que Foreman se cierre, enviar un SIGINT permite que Foreman continúe.

(ps aux | grep 6379 | grep redis | awk ''{ print $2 }'' | xargs kill -s SIGINT) && redis-server

En Procfile.dev:

redis: (ps aux | grep 6379 | grep redis | awk ''{ print $2 }'' | xargs kill -s SIGINT) && redis-server