2014-06-12 21 views
8

Niedawno zainstalowałem OS X i Ubuntu na różnych komputerach. Następnie próbowałem zainstalować Redisa i majstra dla obu systemów operacyjnych. Oba błędy nie rzuciły żadnych flag i wydawały się skuteczne. Jednak, gdy idę do rozpoczęcia majster z foreman start, biegnę w poniższej kwestii na obu komputerach:Foreman natychmiast kończy działanie

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 

Z jakiegoś powodu wydaje się, że kwestię ścieżki do mnie, ponieważ wydaje się, że Redis lub Foreman nie można znaleźć pliki, których muszą używać, aby pomyślnie wykonać, ale nie jestem do końca pewien.

Na OSX użyłem gem install foreman i Brew install Redis.

Na Ubuntu użyłem następujące:

Redis:

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

Foreman:

$ gem install foreman

Moja droga na OSX jest następujący:

/Użytkownicy/c/.rvm/gems/ruby-2.1.0/bin: /Users/c/.rvm/gems/[email protected]/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

Na Ubuntu, moja ścieżka jest:

/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-serwer d OES wydają się wykonać pomyślnie raz, i to nie z komunikatem:

[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 

Trying $ redis-server stop Powroty:

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

muszę pomóc dowiedzieć się, jak dostać się Foreman i Redis współpracują tak, aby mogę zobaczyć moje pliki lokalne w przeglądarce na 127.0.0.1

EDIT

Redis uruchamia się, ale nic się nie dzieje po przejściu do localhost: 6379. Próbowałem również sugestii znalezienia procesów. Okaże

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 

Próbując kill wyniki procesowe w

zabitych: Wykorzystanie: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...lub zabić -l [sigspec]

Odpowiedz

16

Spróbuj uruchomić serwer Redis za pomocą następującego polecenia:

redis-server <path to your config file> 

Należy także sprawdzić, czy jest instancją serwera Redis już uruchomiony przez

ps aux | grep redis 

i następnie, jeśli proces zostanie znaleziony:

kill <process id> 

Zrestartuj swój serwer redis.

+0

Wspomniałem wyżej, że serwer uruchamia raz Redis-serwer. Znalazłem proces, ale zabijanie przy pisaniu nie działało. Zobacz zaktualizowane pytanie, aby uzyskać więcej informacji. – user3172050

+0

Po serii błędów, po prostu wróciłem do "rails s" zamiast "foreman start". – user3172050

+0

'kill -9 ' pracował dla mnie. – Ctpelnar1988

0
  1. Wyświetlenie serwera redis z poleceniem terminalu : ps aux | Redis grep
  2. W liście zanotować „pid” numer serwera, który chcesz zakończyć Przykład PID: 5379
  3. komenda Zastosowanie: kill 5379
1

Ten liner zabije wszelkie istniejące Redis serwerów i następnie uruchom nowy serwer redis. Po uruchomieniu w Foreman nie wysyła SIGTERM, który powoduje, że Foreman rzuca, wysyłając SIGINT pozwala Foreman kontynuować.

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

W Procfile.dev:

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